2024. április 25., csütörtök

Gyorskeresés

Blog

[ ÚJ BEJEGYZÉS ]   [ ÚJ CIKK ]

  • WCF dependency injection

    A dependency injection-t remélhetőleg már nem kell bemutatni, mi is lenne, ám azt úgy gondolom, kevesebben tudják, amibe sikeürlt belefutnom.

    Történt ugyanis, hogy hősünk egy faék WCF service-t szeretett volna készíteni, amit sikerült is megépíteni, hasznos unit test-ekkel körülbástyázni, remekül működött.
    A probléma akkor kezdődött, mikor tényleges service-ként kellett volna működésbe hozni, tesztelés alatt ugyanis nem történik nagy varázslat, simán példányosítással történik a működés ellenőrzés.

    IIS-en host-olt WCF service-ek aktivációját mindig egy factory végzi, amit mi magunk is beállíthatunk, ha megnézzük a *.svc fájlunk markup-ját, abba az egyetlen direktívába kell felvennünk a Factory-nkat:

    <%@ ServiceHost Language="C#" Debug="true" Service="SmartcardService.Authentication"
    CodeBehind="Authentication.svc.cs" Factory="SmartcardService.Factory.ServiceFactory" %>

    Ennek a service-nek nincs paraméter nélküli konstruktora (hogy lenne?), így érdemes egy DI framework-öt választani, aminek van WCF-es támogatása (van neki WCF factory-ja) is, nekem a Ninject-re esett a választásom, factory-ja: NinjectServiceHostFactory

    Folytatás...

    Peter Kiss 11 éve 1

  • MVC

    "A modell-nézet-vezérlő (MNV; angolul model-view-controller) a szoftvertervezésben használatos szerkezeti minta. Összetett, sok adatot a felhasználó elé táró számítógépes alkalmazásokban gyakori fejlesztői kívánalom az adathoz (modell) és a felhasználói felülethez (nézet) tartozó dolgok szétválasztása, hogy a felhasználói felület ne befolyásolja az adatkezelést, és az adatok átszervezhetők legyenek a felhasználói felület változtatása nélkül. A modell-nézet-vezérlő ezt úgy éri el, hogy elkülöníti az adatok elérését és az üzleti logikát az adatok megjelenítésétől és a felhasználói interakciótól egy közbülső összetevő, a vezérlő bevezetésével." - Wikipédia

    Ezek után találkoztam egy ilyen osztállyal a codereview-on:

    class mvc {

    /* view-ok keresése, controller-ek (több vagy egy?) keresés, némi routing, minden végrehajtása, kacifántos kód */

    }

    Nem jött át. :DDD Van még egy router fájlja is, csak egy script, de hogy a $_SESSION miért van benne használva, rejtély.

    Nálam az MVC névtér áll most 40+ osztályból és interface-ből, ha hozzárakom a Web-et is mindennel, 80-nál tartunk, és ezt bárki el tudja olvasni. (Egyszercsak. :DDD )

    Peter Kiss 11 éve 1

  • ASP.NET MVC ClientDataTypeModelValidatorProvider

    Az ASP.NET MVC-t nehéz nem szeretni, kimondottan jól össze van rakva, jó használni, és ugye alatta van a teljes .NET Framework minden jósággal (pl. Entity Framework). A .NET jellemzően jól felépített cucc, bárhonnan is nézzük, nehéz rajta fogást találni.

    A héten sikerült egy olyan dologgal találkoznom, amit nehezen hittem el, gyakorlatilag rosszul (vagy legalábbis hülye módon) implementáltak az ASP.NET MVC-ben egy igen fontos dolgot: attribútum nélküli kliensoldali típusvalidációt.

    Ha valaki már használta az MVC keretet, akkor tudhatja, hogy minden különösebb erőfeszítés nélkül reklamál kliensoldalon azért, ha egy numeric típus helyett szöveget írunk egy input-ba, majd el szeretnénk küldeni az adatokat. Ezt a varázslatot végzi nekünk a ClientDataTypeModelValidatorProvider, ami alapból regisztrálva van a ModelValidatorProviders-ben. Ez nagyon klassz, teljesen jól működik, a gond akkor adódott, mikor lokalizálni szerettem volna a validációs üzenetet.

    Folytatás...

    Peter Kiss 12 éve 1

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.