English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés
Σ: 1 post

saxus  (statz) Agyfasz
#9, Agyfasz (419)
3420 | #1c36 | ^ | Idézet | Sun, 29 Apr 2012 18:28:24 +02
84.3.*.* Unknown Unknown Hungary *.catv.pool.telekom.hu
TCH írta/wrote:
Miért akarnék átadni fptr-t? Miért raknék bele elágazást? Van két db függvény, ugyanazzal a névvel overloadolva, egyik helyen ezekkel a paramokkal hívom meg, másikon a másikokkal. Mi ezzel a baj?


Akkor nem ertetted meg a peldat: nincs ket db. fuggvenyed. Egy darabod van, attol fuggoen, hogy kliens vagy szerver oldal. Raadasul azt a fuggvenyt mashonnan hivjuk, ahol semmilyen informacio nem all rendelkezesre, hogy kliens v szerver oldal. (Mint ahogy normalis esetben sem a DB sem a network layert nem erheti el, mert azoktol nem fugghet, mivel az egy onallo komponens.

Mondom a kodot:

// Kozos reszek egy db assemblyben, ami semmit nem tud a szerverrol vagy a kliensrol, mivel tok altalanos es felhasznalhato mas, teljesen egyedi proejktben.

public interface ISomethingProvider
{
  public Bar GetBar();
}


public class FooFunction: Function
{
  private ISomethingProvider _provider;

  public FooFunction(ISomethingProvider provider)
 
  public ... DoWork(...) 
  { 
    ...
    var cucc = _provider.GetBar();
    ...
  }
}


// Csak a szerver oldalon levo resz:

class IlyenSomethingProvider: ISomethingProvider
{
  private IDbConnection _db;

  public IlyenSomethingProvider(IDbConnection db)
  {
    _db = db;
  }

  public Bar GetBar()
  {
    // db-bol valo kiolvasas
  }
}


// Kliensoldali implementacio

class OlyanSomethingProvider: ISomethingProvider
{
   ... hasonlo, csak IDbConnection helyett itt pl. egy IClientHandler -t kap, amely a szerver fele kuld egy kerest.
}



Es igy tovabb. Lehetne meg ragozni (pl. van teszteleshe van FakeSomethingProvider, ami csak egy konstans erteket ad vissza es nincs kulso fuggosege) vagy a kliens-szerver-hez meg be fog jonni egy masik jellegu kliens, ami a frontend szervereken fog futni. Mint lathatod, a FooFunction (amely a scriptrendszerem resze) mukodese valtozhat aszerint, hogy en kivulrol hogyan parameterezem fel.

Valoban nem lesz kevesebb kod. Viszont igy az egesz scriptrendszer megmarad egy onallo rendszernek es nem fog fuggni a db-tol, halozattol, stb.

Egyebkent ezt hivjak strategy patternnek, amikor a valtozo funkcionalitast kiszervezik osztalyokba.



TCH írta/wrote:
Nincs az OSX-nek valami überfasza emulátora? Parallel, vagy mi az isten? Nem megy benne?


Parallels az egy virtualizacios sw, mint a vmware vagy a virtualbox. Mellesleg OSX-re desktop virtualizaciora a legjobb. Az emulatorokban es hasonlo kerulomegoldasokban - foleg egy ilyen sw eseten, mint a VS, ahol azert elegge alapoz a Windows jonehany szolgaltatasara, pl. debuggolasra - nem mernek hasznalni ilyet. Melora nekem uzembiztos megoldas kell, nem olyan, amit folyton takolni kell, a'la wine.

TCH írta/wrote:
Azzal sem lett volna, ha nem B. "Mr. P0rnwatcher Mikulásosszkenárió" Gáborra bízták volna a BC-t. :P


Rohogni fogsz, de miutan jol kiosztottuk egymast, hogy nem, en nem akarok projektvezeto lenni es o se akarjon infot adagolni vagy muszaki dologba beleszolni, egesz jol lehetett vele dolgozni. :)

Ui. csinalj mar valamit a quote scripteddel, hogy mindig a vegere szurja be. Es ha nincs ket enter jel a vegen, azt is tegye oda. Kurvaidegesito, mikor a szoveg kozepere rakja.

Ui2: latom, hogy erolkodsz a hotmaillel. Leszarom, elcsesztek, ezen nincs mit ragozni.


English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1424) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.04.27. 20:05)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés

Név: (max 255 byte)

Email: (max 255 byte) Nem kötelező!

Üzenet: (max 65536 kar.) 65536-0=65536




crap_vkn v4.34.0 by TCH
Thx to saxus for the escaped string decoder function (PHP), the realIP function (PHP) & the SQL handle layer (PHP), to thookerov for the int_divide function (PHP), to Jeff Anderson for the getSelText function (JS), to Alex King for the insertAtCursor function (JS), Flood3r for the new CSS styles, Pety for the spamprotection idea and some design and comfort ideas, MaxMind for the IP2Country database, famfamfam for the flags of countries and an unknown PHP programmer for the removeAccents function.



Kecskebaszók ide!