- Honor 200 Pro - mobilportré
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Végre egy tényleg jó Duotts bringa! - E29 teszt
- Sony Xperia 1 V - kizárólag igényeseknek
- One mobilszolgáltatások
- Apple iPhone 17 - alap
- Samsung Galaxy S25 FE - fenséges, felejthető vagy felesleges?
- Motorola Edge 40 - jó bőr
- Nokia 6.2 - kötelezők röviden
- Sebtapasz: telepíthető az iOS 26.0.1
Ú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
- Autós topik
- Honor 200 Pro - mobilportré
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Végre egy tényleg jó Duotts bringa! - E29 teszt
- Call of Duty: Black Ops 7
- Milyen belső merevlemezt vegyek?
- Vezeték nélküli fülhallgatók
- Tippmix
- Milyen légkondit a lakásba?
- Kínai és egyéb olcsó órák topikja
- További aktív témák...
- Asztali PC , R5 5500 , RX 5700 XT , 16GB RAM , 512GB NVME , 500GB HDD
- Gamer PC - RTX 3070, Ryzen 5 5600X, 16gb RAM
- DELL G5 25 5587 Gamer notebook
- Lenovo ThinkPad T14s Gen3 : i5-1240P/16GB/256GB NVMe SSD/14"FHD IPS, Matt/Win 11Pro
- ALKALMI ÁRON! - Vadonatúj állapotú Xbox Elite Series 2 Core Kontroller - 1 Év Alza Garanciával!
- BESZÁMÍTÁS! Apple MacBook Pro 14 M4 Pro 24GB RAM 512GB SSD macbook garanciával hibátlan működéssel
- Telefon felvásárlás!! iPhone 11/iPhone 11 Pro/iPhone 11 Pro Max
- GYÖNYÖRŰ iPhone 12 mini 128GB Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS3415 94% Akkumulátor
- Eladó szép állapotú Samsung S10+ 8/128GB / 12 hó jótállás
- BESZÁMÍTÁS! 64GB (2x32) G.Skill Trident Z RGB 4000MHz DDR4 memória garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest