Ú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
- Kipukkadt a videós AI lufi? A Sora elkaszálása csak a kezdet
- A jövőben egy új foglalat több CPU-generációt is kiszolgál majd az Intelnél
- Arc Raiders
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Windows 11
- Xiaomi 17 Ultra - jó az optikája
- AliExpress tapasztalatok
- BMW topik
- Kerékpárosok, bringások ide!
- Xiaomi 15T Pro - a téma nincs lezárva
- További aktív témák...
- Asus A16 FA617NSR 16" FHD+ IPS Ryzen 7 7435HS Radeon RX 7600S 16GB 512GB NVMe gar
- Latitude 5431 27% 14" FHD IPS i5-1250P 16GB 256GB NVMe magyar vbill gar
- ÚJ Bontatlan Macbook Pro 16,2 M5 Pro 18CPU/20GPU 48GB/1TB SSD Magyar billent Azonnal átvehető.
- XPS 7590 15.6" FHD IPS i7-9750H GTX 1650 16GB 512GB NVMe ujjolv gar
- Legion 5 15ARH7 15.6" FHD IPS Ryzen 5 6600H RTX 3050Ti 16GB 512GB NVMe magyar vbill gar
- Keresünk iPhone 15/15 Plus/15 Pro/15 Pro Max
- Steam, EA, Ubisoft és GoG játékkulcsok, illetve Game Pass kedvező áron, egyenesen a kiadóktól!
- Honor 200 pro
- AKCIÓ! Dell XPS 13 9305 13 FHD üzleti notebook -i5 1135G7 8GB DDR4 512GB SSD Intel IRIS XE W11
- 188 - Lenovo LOQ (15IRX10) - Intel Core i5-13450HX, RTX 5060
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
