- Melyik tápegységet vegyem?
- Videós, mozgóképes topik
- Dobta az OLED kijelzőt a Honor MagicPad 3
- Kormányok / autós szimulátorok topikja
- Sugárkövetés nélküli sugárkövetés felé menetel az új PlayStation
- OLED TV topic
- TCL LCD és LED TV-k
- Milyen videókártyát?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- M.2 SSD: hova tedd, hogy a leggyorsabb legyen?
Ú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
- Nők, nőügyek (18+)
- Samsung Galaxy Watch7 - kötelező kör
- Luck Dragon: Asszociációs játék. :)
- Mobilinternet
- Melyik tápegységet vegyem?
- Videós, mozgóképes topik
- Apple iPhone 16 Pro - rutinvizsga
- Dobta az OLED kijelzőt a Honor MagicPad 3
- Kormányok / autós szimulátorok topikja
- Megjött a jubileumi Pixel széria
- További aktív témák...
- Lenovo Ideapad Flex 5 - 14"FHD IPS Érintő - Ryzen 3 5300U - 8GB - 256GB SSD - Win11 - MAGYAR
- !AKCIÓ! Garanciás Klipsch R-120SW 30cm aktív mélysugárzó SubWoofer - 200W RMS / 400W Peak
- Eladó megbízható, szép Toshiba Satelite C850
- Csere - Beszámítás! Gamer PC : I5-14400F / 32GB DDR5 / RTX 4060 Ti / 1TB M.2 SSD
- Ryzen 5600, 32GB RAM, EVGA 3080 Gamer PC
- Legjobb kijelzős! ThinkPad T14s Gen 2 i5-1135G7 16GB 1000GB FHD - 400nit! magyarbill 1 év garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Gigabyte AORUS B550M R7 5700X 32GB DDR4 1TB SSD RX 6800 16GB Zalman i3 NEO Gigabyte 850W
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3172
- Azonnali készpénzes Microsoft XBOX Series S és Series X felvásárlás személyesen/csomagküldéssel
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: FOTC
Város: Budapest