Hirdetés
- iPhone topik
- Xiaomi 14 Ultra - Leica hercegnő
- Motorola Edge 50 Neo - az egyensúly gyengesége
- One mobilszolgáltatások
- Google Pixel topik
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Ez lehet az Apple hajlítható telefonjának formája, mérete
- Yettel topik
- Bemutatkozott a Poco X7 és X7 Pro
- Fotók, videók mobillal
Ú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
- VGA kibeszélő offtopik
- NBA és kosárlabda topic
- Battlefield 6
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- BMW topik
- Proxmox VE
- Szünetmentes tápegységek (UPS)
- Majdnem megfelezi a GeForce GPU-k gyártókapacitását az NVIDIA?
- Projektor topic
- eMAG vélemények - tapasztalatok
- További aktív témák...
- Apple iPhone 13 256GB / Kártyafüggetlen / 12Hó Garancia / 100% Akku
- GYÖNYÖRŰ iPhone 13 Mini 128GB Pink-1 ÉV GARANCIA -Kártyafüggetlen, MS3823, 100% Akkumulátor
- Apple iPhone 15 128GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 13 Pro Max 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3958
- Samsung Galaxy Z Fold4 Graygreen Duplakijelzős produktivitás, 120 Hz, Garancia 2026. 03. 22-ig
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


