Hirdetés
- Luck Dragon: Asszociációs játék. :)
- djculture: Éhezők ssd és memória viadala.
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- D@reeo: Pi-hole és a Telekom Sagemcom F@st 5670 DNS beállítása
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- droidic: [Memory Leak] Az agy defragmentálása
- Gurulunk, WAZE?!
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
válasz
PazsitZ
#9912
üzenetére
A Singleton anti-pattern, tesztelhetetlen alkalmazást eredményez, illetve fogalmad sem lesz arról, hogyan működik az alkalmazás.
Elég csak arra gondolni, mi van akkor, ha kapsz egy egyébként működő kódhalmazt, amit használni szeretnél, de rejtett dependency-k vannak benne a singletonok miatt. Sosem szabad ilyet csinálni.
Példa:
<?php
/* ... */
$controllerFactory = $this->_controllerBuilder->GetControllerFactory($this->HttpContext);
$controller = $controllerFactory->CreateController($this->HttpContext);
if (!$controller->GetType()->ImplementsInterface("\\System\\Web\\Mvc\\IHttpHandler") || !$controller->IsStateLess()) {
$sdsf = new SessionProviderFactory();
$this->SessionManager = new SessionManager($this->HttpContext, new UsersAndGroupsDataContext(), $sdsf);
$this->SessionManager->Validate();
$this->HttpContext->Session = $this->SessionManager->GetCurrentSession();
}
if (!$controller->Execute($this->HttpContext, $this->_actionInvokers->GetActionInvoker(typeof($controller)))) {
throw new \Exception("Failed to execute action: " . $this->HttpContext->Route());
}
/* ... */Itt mondhatnám én is a $this->HttpContext átadása helyett, hogy akkor HttpContext::Instance() az egyes helyeken (kihagyva a metódusok paraméterlistájából), mert itt ugyanazt jelenti, de azt eredményezné, hogy még számomra se lenne világos, minek mire van szüksége.
A példában szereplő if block egyébként még javításra szorul.
Új hozzászólás Aktív témák
- Okos Otthon / Smart Home
- Autós topik
- World of Tanks - MMO
- Xiaomi 14 Ultra - Leica hercegnő
- Luck Dragon: Asszociációs játék. :)
- MOBILTELEFON / TARTOZÉK / OKOSÓRA / OKOS KIEGÉSZÍTŐ beárazás
- Kedvenc zene a mai napra
- 3D nyomtatás
- Kerti grill és bográcsozó házilag (BBQ, tervek, ötletek, receptek)
- Napelem
- További aktív témák...
- Apple iPhone XR 64GB, Kártyafüggetlen, 1 Év Garanciával
- AKCIÓ! HP Victus Gaming 16-S0017NH 16 notebook - R5 7640HS 32GB DDR5 1TB SSD RTX 4050 6GB WIN1
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
- Apple iPhone 12 Pro / 128GB / Kártyafüggetlen / 12Hó Garancia
- Chieftec GPS-1250C (1250W)
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

