Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Gurulunk, WAZE?!
- Trewerr: Analóg-digitális jelátalakítás (zenefájlok leegyszerűsítésével magyarázva)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Meggyi001: A kérdés...
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- gerner1
- eBay-es kütyük kis pénzért
- Brogyi: CTEK akkumulátor töltő és másolatai
Ú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
- Google Pixel topik
- Fotók, videók mobillal
- Projektor topic
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- BestBuy topik
- Soundbar, soundplate, hangprojektor
- Végleg kitiltaná a Huawei-t az EU a hálózatkiépítésből
- Víz- gáz- és fűtésszerelés
- Milyen routert?
- Hobby rádiós topik
- További aktív témák...
- Asus Zenbook 14 OLED UX3405CA - Ultra 9 285H 32 GB RAM 2000 GB SSD - ~ÚJ
- T14s Gen1 27% 14" FHD IPS i7-10510U 16GB 256GB NVMe ujjlolv IR kam gar
- I7-3770
- TUF F16 FX608JH 16" FHD+ IPS i5-13450HX RTX 5050 16GB 1TB NVMe magyar vbill gar
- HP EliteBook 840 G3, 14" FHD kijelző, I5-6300U CPU, 8GB DDR4, 256GB SSD, W11, Számla, 1 év garancia
- GYÖNYÖRŰ iPhone 12 mini 128GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3856, 100% Akksi
- HIBÁTLAN iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3421
- Bontatlan Lenovo T14S WUXGA Touch Ryzen5 Pro 7540U 16GB 256GB Radeon 740M Win11 Pro 3év Garancia
- Gamer/streamer mikrofon, állvány és USB HUB eladó!
- Apple iPhone 16 Pro Max Desert Titanium Titán dizájn, Pro kamera, 120 Hz ProMotion,90%,3 hó gari
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő

