Hirdetés
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- Milyen okostelefont vegyek?
- Az Apple bemutatta az iPhone 17-et
- Samsung Galaxy A52s 5G - jó S-tehetség
- Vivo X200 Pro - a kétszázát!
- Apple Watch
- Telekom mobilszolgáltatások
- Oldalról rápillanthatunk a Vivo X300-ak kameráira
- Apple AirPods Pro (2. generáció) - csiszolt almaságok
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
Ú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
- QNAP hálózati adattárolók (NAS)
- Google Pixel 10 Pro XL – tíz kicsi Pixel
- Autós topik
- gban: Ingyen kellene, de tegnapra
- Amlogic S905, S912 processzoros készülékek
- A firmware okozhatja a Windows 11 augusztusi frissítésével kapcsolatos SSD-hibát
- Mikrotik routerek
- ASUS routerek
- Hálózati / IP kamera
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- X1 Carbon 11th 14" FHD+ IPS i5-1345U 32GB 512GB NVMe ujjlolv IR kam gar
- Eladó Konfig I5 8400 16GB DDR4 1TB SSD 1TB HDD RTX2060 6GB!
- HP Color LaserJet Pro MFP M479fdw - multifunkciós színes lézernyomtató kiváló állapotban eladó
- Latitude 3450 14" FHD IPS Ultra 5 125U 16GB 512GB NVMe ujjlolv IR kam gar
- Latitude 5530 15.6" FHD IPS i5-1235U 16GB 256GB NVMe ujjlolv IR kam gar
- GYÖNYÖRŰ iPhone 11 Pro 256GB Midnight Green -1 ÉV GARANCIA - Kártyafüggetlen, MS2048, 96% Akksi
- BESZÁMÍTÁS! Gigabyte B85M-D3H B85 chipset alaplap garanciával hibátlan működéssel
- BESZÁMÍTÁS! LENOVO IdeaPad Gaming 3 Gamer notebook - R5 5500H 16GB DDR4 512GB SSD RTX 2050 4GB WIN11
- Telefon felváráslás!! Xiaomi 13T, Xiaomi 13T Pro, Xiaomi 14T, Xiaomi 14T Pro
- GYÖNYÖRŰ iPhone 13 256GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS2247
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest