Az új generációs .NET platform c. tárgyhoz tartozó hír


Simon Gábor fényképe

Pontrendszer a nagyházihoz

Simon Gábor, 2017. augusztus 23.

Még nincs véglegesítve 2017. őszi félévre!

Véglegesítés után csak hallgatóknak előnyös módosítások lehetnek (pl. új jogcímek).

Utolsó módosítás: 2017.08.23.

Egy jogcímen csak egyszer szerezhető pont! (Pl.: nem lehet 3 saját WPF vezérlővel 60 pontot összeszedni)

WPF 4.5

  • testreszabható saját control készítése [5-20]
    • pl. "textboxban watermark" szintű bonyolultság 5
    • pl. grafikonmegjelenítő szintű bonyolultság 20
  • MVVM minta alkalmazása valamilyen toolkit segítségével [10]
  • többnyelvű GUI, a .NET beépített lehetőségeinek használatával, legalább egy bonyolult felületen [10]
    • a nyelv dinamikusan állítható az alkalmazásfelületről és a beállítás alkalmazásindítások, ill. belépések között sem veszik el    +3 
  • input validáció legalább egy bonyolult felületen (5-6 mező, 2-3 fajta validáció) [10]
  • 3D tranzíciók alkalmazása (pl. térben beforgó dialógusablak stb.) [7]
  • saját 3D modellek alkalmazása [5]  
  • Control template átszerkesztése (min 3 db. vezérlőnél,  érdemi módosítások) [7]
  • saját Layout Control készítése [10]
  • Ribbon vezérlő alkalmazása (WPF 4.5) [5]
  • Modern ("Metro") kinézet pl.MahApps.Metro-val [7]
  • Design-time data - a design nézetben is mutatnak adatot az adatkötött vezérlők [5]
  • diagnosztika beépített vagy külső komponens segítségével [5 - 7]
    • trace/naplózás legalább két célba 5
    • teljesítményszámlálók használata 7
  • [Új!] A WPF alkalmazás publikálása Windows Store-ba Desktop Bridge (Project Centennial) segítségével [10]

WCF 4.5

  • duplex WCF kommunikáció [7]
  • OData feed publikálása WCF Data Services használatával [7]
  • külső OData feed (pl. diplomaterv portál, vagy egyéb) integrálása WCF Data Services használatával [7]
  • nem szokványos WCF binding használata (P2P, MSMQ) [10]
  • tanúsítvány alapú authentikáció kliens oldali tanúsítvánnyal. Bemutatáskor szemléltetés Fiddler-rel [7]
  • titkosított WCF kommunikáció szerver oldali tanúsítvánnyal (pl. HTTPS). Bemutatáskor szemléltetés Fiddler-rel [7]
  • saját naplózás a WCF metódushívási mechanizmusának kiterjesztésével [7]
  • "rolling log" jellegű WCF naplózás, azaz legyen beállítható, hogy milyen időközönként (pl. naponta) készüljön új naplófájl [7]
  • Cache-elés a WCF metódushívási mechanizmusának kiterjesztésével [12]
  • WCF sorosítás kiterjesztése nem-beépített titkosítással [10]
  • WS-Discovery alkalmazása [5-12]
    • a kliens futás közben ismeri meg a szerver szolgáltatás címét 5
    • a kliens át tud állni egy másik címre, ha az aktuálissal a kapcsolat megszakad. Szemléltetés két (különböző címen futó) szerverpéldány indításával +7

Entity Framework 6

  • leszármazási hierarchia leképezése Entity Framework-kel (legalább kétszintű, legalább 3 tagú hierarchia) [3-7]
    • TPH, a diszkriminátor mező testreszabásával (saját mezőnév vagy saját értékek) 3
    • TPT-vel 5
    • TPC-vel 7
  • MS SQL-től eltérő adatbázis használata EF-kel [7-10]
  • beágyazott adatabázis (sqlite, SQL Server CE, stb.) használata kliensoldalon cache-ként [7]
  • saját Code-First konvenció [5]
  • saját többesszámosító (pluralization service) [5]
  • saját újrapróbálkozó (DbExecutionStrategy) tranziens adatbázishibák (pl. connection timeout) ellen [7]
  • Table splitting [5]
  • Entity splitting [5]

Workflow Foundation 4.5

  • saját, workflow designerből paraméterezhető actvity [7]
  • interaktív Windows Workflow [15]
    • a workflow adatbázisba menthető/visszatölthető +5
    • Designer rehost +5

.NET részfunkciók alkalmazása

  • a szerver oldal hosztolása külső szolgáltatónál [5-7]
    • Windows Azure (ingyenes App Services - WebApp szolgáltatás, de bankkártya regisztráció szükséges) [7]
    • egyéb szolgáltató [5]
  • külső online szolgáltatás (pl. twitter, facebook, google maps, bing maps, stb.) integrálása az alkalmazásba. Authentikációs szolgáltatás (Live ID, Google Account) is lehet. [7-15]
    • egyszerű REST API, SDK használat nélkül, egyszerű API kulcs alapú authentikáció 7
    • SDK-val / REST API-val, authentikációt (pl. OAuth) végrehajtva 12
    • felhasználói authentikáció külső authentikációs szolgáltatás használatával 12
    • REST API esetén ASP.NET Web API klienskönyvtár használata +3
  • unit tesztek készítése (minimum 10 függvényhez)   [7]
  • pesszimista konkurenciakezelés (lock-olás adatbázisban). Bemutatáskor szemléltetés egy konkurenciahelyzet összekattintásával.  [15]
  • optimista konkurenciakezelés ütközésfeloldással, azaz a felhasználó választhassa ki, hogy ütközés esetén a 3 adatverzióból (eredeti, általa készített, más által készített) melyik kerüljön be az adatbázisba. Bemutatáskor szemléltetés egy konkurenciahelyzet összekattintásával. [10]
  • Object mapper (pl. AutoMapper) használata DTO-k létrehozására [5]
  • Dependency Injection (pl. Ninject) alkalmazása [7-12]
    • Repository minta alkalmazása az adatelérésnél, a konkrét repository inicializálása Dependency Injection-nel [+5]

Kiegészítő, kapcsolódó technológiák alkalmazása

  • Rx Framework használata [7-12]
    • néhány alap Rx operátor használata 7
    • két külső adatforrás integrálása 10
    • ReactiveUI használata 12
  • F# modul készítése és meghívása. Legalább az egyik legyen benne ezek közül: pattern matching, async, magasabb rendű függvény,[7]
  • külső osztálykönyvtár használata (a külső komponensért további pontszám nem adható). Nem számít ide a projekt generálásakor bekerülő, illetve a Microsoft által készített NuGet csomagok (pl. OWIN, ASP.NET Identity)  [7]
  • SketchFlow terv Blend for Visual Studio 2013-mal [7-12]
    • egy bonyolult felülethez 7
    • legalább 3 felülethez (screen), navigációs kapcsolatokkal (navigation connection) 12
  • saját Blend WPF behavior 7

Mélyvíz (csak 30pont fölött választható)

  • EF7: InMemoryDatabase provider haszálata unit teszteléshez [7]
  • EF7: mixed evalutaion query alkalmazása [5]
  • a szerver oldal (WCF+EF) futtatása Linux környezetben, Mono Framework használatával [25]