- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Válságmódban a Samsung mobildivíziója
- Vége a dalnak: nincs több Samsung harmonikamobil
- Samsung Galaxy S23 Ultra - non plus ultra
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- MWC 2026: Bajnoki címre pályázik a Xiaomi Watch 5
- Google Pixel topik
- 18. helyet ért a Samsung Galaxy S26 Ultra kamerarendszere a DxOMarknál
- Yettel topik
- Samsung Galaxy A56 - megbízható középszerűség
Ú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
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Forza sorozat (Horizon/Motorsport)
- One otthoni szolgáltatások (TV, internet, telefon)
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Nintendo tulajok OFF-topicja
- Kerékpárosok, bringások ide!
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Nintendo Switch 2
- További aktív témák...
- LG UltraGear 27GR95QE-B 240 Hz OLED 2560x1440 Gamer Monitor 6 hó garancia Házhozszállítás
- Kingston FURY 32GB (2x16) KIT DDR5 5600MHz CL40
- AMD Ryzen 5 7600X BOX - Gari 2027.03.11 -ig - Eladó!
- Samsung Odyssey G5 LS27CG510 27 QHD Gamer Monitor 6 hó garancia Házhozszállítás
- ASUS RTX 3070 Ti 8GB GDDR6X TUF GAMING OC Eladó!
- ÓRIÁSI BOMBA AKCIÓK! PSN, STEAM, UBISOFT CONNECT, EA APP, XBOX EREDETI KULCSOK 100% GARANCIA
- Lenovo ThinkPad T590 15,6" - i5 8265U, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- í kilenc! AKCIÓS PRECÍZIÓS KÉSZÜLÉK! 7560 i9-11950H 64GB RAM 1TB SSD Nvidia RTX A3000 6GB 1 év gar
- iPhone 17 Pro Max 256GB 100% (1év Garancia)
- Bontatlan Oriflame Love Potion parfüm eladó
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


