- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- vrob: Az utolsó DOS játékok 1996 - 1997-ben, egy korszak lezárul
- Rap, Hip-hop 90'
- Gurulunk, WAZE?!
- sziku69: Szólánc.
- btz: Internet fejlesztés országosan!
- sziku69: Fűzzük össze a szavakat :)
- Meggyi001: RTX 5060 - Az új népkártya?
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
Hirdetés
Köszönjük a sok biztatást, támogatást! Egy rövid ideig még féláron tudsz hirdetni, előfizetni!
Ú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
- Xiaomi 14T - nem baj, hogy nem Pro
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Milyen notebookot vegyek?
- Linux kezdőknek
- BestBuy ruhás topik
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- További aktív témák...
- Extra olcsó! HP 230 Vezetéknélküli USB-s Billentyűzet
- MacBook Pro 13, 14, 15, 16, MacBook Air M1, M2 M3 M4 bill magyarosítás lézerrel / sapkacserével
- Bomba ár! Fujitsu LifeBook U758 - i5-8GEN I 8GB I 256GB SSD I HDMI I 15,6" FHD I W11 I Garancia!
- ASUS TUF Gaming A15 FA507NUR - 15,6" FHD 144Hz - Ryzen 7 7435HS - 16GB - 512GB -RTX 4050 -3 év gari
- HP 14 Elitebook 1040 G9 FHD+ IPS i5-1245U 10mag 16GB 512GB 5G Modem Intel Iris XE Win11 Pro Garancia
Állásajánlatok
Cég: FOTC
Város: Budapest