Class gyár c # - verem túlcsordulás az orosz
Ez nem a teljes választ, én csak néhány példát, ahol ez előnyös lehet. Az igazi megoldás talán valaki később; poshu elnézést a hibákat a szintaxis, ha van ilyen,
Például, ha van egy olyan kód:
Akkor ez nem csak határozottan szögezték egy adott osztály, hanem a példány az ebbe az osztályba keletkezik a légy, és így runProcess () nem lehet teljes mértékben tesztelték - ha szeretné vizsgálni szükséges, hogy nézz vissza rabotsposobnost folyamat. Feldolgozni a hatékonyság és töltse ki a két teszt egyszerre. Gyári lehetővé teszi, hogy megoldja a nehéz kapcsolat, akkor is, miközben a pontos használt osztály:
Ebben az esetben a nagyon generációs objektum kivették a tantermen kívül, és tudod, hogy egy ál (hamis) ProcessFactory. amely mindig visszatér egy példánya fut, mintha tényleg sikeresen elindítja a folyamatot. Samu ProcessFactory bár a vizsgálat nem szükséges - csak egy egyedi tétel.
Ezen kívül a gyár elválasztja létre egy példánya a helyről történő hívást. Ez lehetővé teszi, hogy hajtson végre további funkciókat, például Builder sablonok, Flyweight:
Ebben a példában a külső kód már nem vigyázni inicializálása egy osztály például azért, mert a gyár egyesíti a sablon Builder.
Ez érvényes akkor, ha utódai hasonló funkciókat, de valamilyen oknál fogva, a teremtés az örökösök a kivitelező nem megfelelő.
Például WebRequest egy statikus módszer létrehozása. amely attól függően, a protokoll továbbított Uri létrehozza a megfelelő osztály, http - System.Net.HttpWebRequest. ftp - System.Net.FtpWebRequest stb ...
Szintén körülbelül System.Security.Cryptography.SymmetricAlgorithm.