niedziela, 1 grudnia 2024

 Plan jest taki

Postanowiłem stworzyć projekt związany z webapi, na początek będą się tu znajdować luźne przemyślenia, na temat tego zdania. Ogólny zarys projektu i możliwe rozwiązania jakie zastosuje. Projekt ten będzie czystko szkoleniowy, chciałem spróbować nowego podejścia do tworzenia aplikacji, postanowiłem, że będę to dokumentował tutaj.

Dawno nie robiłem projektu prywatnego, dawno nie pisałem nic na blogu, tym czy poprzednim, miałem sporą przerwę. Teraz pojawiła się chęć odświeżenia dokumentowania pracy na blogu.

Projekt ma roboczą nazwę VehicleApi.

Aktualnie w pracy zajmujemy się aplikacją do obsługi wózków widłowych. Temat ten jest już mi dobrze znany, bo mija rok od momentu w którym dołączyłem do tego projektu. Został on przeze mnie mocno zrefaktoryzowany (zmieniony), zadecydowało o tym błędne zrozumienie domeny problemu.

Aplikacja, aktualnie działa na produkcji od kilku miesięcy, ale nie ma jeszcze pełnej funkcjonalności. Jest ciągle rozwijana. W tym projekcie pokusiłem się o zastosowanie architektury warstwowej idącej w kierunku DDD, z podziałem na warstwę

  •  aplikacji
  • domeny
  • infrastruktury
Temat wózków okazał się bardzie złożony niż na początku się wydawało. A same podejście do architektury nie weszło od razu w powyższy podział. Jak wspomniałem ten projekt powstał dużo wcześniej, a to co ja zaproponowałem to była głęboka zmiana istniejącego rozwiązania.
Tak więc w miarę przyrostu wiedzy, serwisy które oznaczały dany problem rozwarstwiały się tworząc architekturę trójwarstwową.

Dlaczego wspominam o tym projekcie? Gdyż będzie on moim punktem wyjścia, dla rozważań na temat architektury, jest to projekt, który działa i rozwiązuje rzeczywisty problem. VehicleApi będzie projektem który będzie nawiązywał do tamtego ale skupiał się nad przetestowaniem innych podejść, do problemów.

Opis projektu

Po tym przydługim wstępie, skupię się na głównym temacie tego posta.


Pierwszy krok za mną, projekt wrzucony na githuba ;-)

Założenia:
  • frontem będzie webapi,
  • każda warstwa będzie osobnym projektem,
  • podstawą wyjścia będzie warstwa aplikacji,
  • będzie warstwa domenowa z bardziej złożoną logiką,
  • warstwa infrastruktury dostępu do danych,
Z zastosowanych technologii:
  • .net 6,
  • MediatR,
  • FluentValidation,
  • EF core code first
Z czasem listy będą się powiększać, ale na początek to wystarczy. Projekt ma też za zadanie przećwiczenie technologii i przetestowanie innego podejścia.

Co do samej domeny, czyli jakieś głębszej logiki pojawi się ale później jak się uporam z postawieniem tego projektu. 
Co do testów też się pojawią będzie to Nunit i Xunit.

Do dzieła..... 

niedziela, 21 stycznia 2024

 Po wielu miesiącach przerwy


Czteroletnim exodusie do bloga ismartdev, który zdechł w zeszłym roku w listopadzie, na powrót wstąpiłem w ten zapomniany świat.

Tak sobie pomyślałem że napiszę coś tutaj, bo dawno tego nie robiłem, a ostatnio nawet na moim drugim bloku nie chciałem niczego produkować. 

Podobno nowy rok nowe postanowienia, to na ten rok kilka postanowień, żeby zacząć ponownie przygodę z tym miejscem:

  • webapi - zaprzyjaźnić się bardziej pracuje z tym ale od nie dawna, nie ma jeszcze takiej wprawy jak przy mvc kiedyś miałem, chce się zaprzyjaźnić z tym podejściem, bo je ono lepsze od MVC.net,
  • EF code first - robiłem kilka razy ale mam problemy dalej z relacjami, czy chciałbym lepiej zrozumieć tworzenie bazy na podstawie EF,
  • romans z angularem nie udał się za bardzo i nie ciągnie mnie w tę stronę już ale może by tak dla odmiany blazor, tam miałem krótką schadzkę przez którą poznałem dappera ale blazor jakoś poszedł na bok,
  • Co jeszcze ? hm na razie nie wiem ale może to na chwilę wystarczy
Jak zamierzam się tym zająć? Na wczesniejszym blogu miałem dwa projekty z web api i angularem dla obydwu miałem temat apliakcji do salonu fryzjerskiego, nie chce już męczyć tego tematu po raz kolejny. Co wymyślę nowego.

Może ruszę tutaj z jakimiś zapiskami, bardzie w formie skrótów i prób, było by to lepsze. W końcu w pracy mam poligon do webapi o do sql-a, może być ciekawie.

Tak to dobry początek.

Więc wracam tu po kilku latach.

P.S.
Na Blogu kryjącym się pod nazwą ismartdev.pl miałem 130 postów, kopii nie zrobiłem, nie chciałem. Wzeszłym roku zacząłem go nawet nienawidzić jakkolwiek dziwnie to brzmi. Zakończyłem jego żywot, trochę szkoda ale tak będzie lepiej.

No i nic z tych powyższych rzeczy nie udało mi się zrealizować, życie kolejny raz pokazało że potrzebą chwili jest zrozumienie podejścia DDD, wzorca agregatu encji, modelu warstwowego.
Pomocna w tym okazała się książka Erica Evansa o DDD, którą kiedyś przeczytałem ale nie wzbudziła we mnie wtedy entuzjazmu, wręcz przeciwnie znudzenie.

Teraz po kilku latach wróciłem, bo potrzebowałem zrozumieć problem z którym się mierze, problem związany z architekturą wielowarstwową. Na tym się skupię w najbliższych miesiącach. Na tym blogu również.

  Plan jest taki Postanowiłem stworzyć projekt związany z webapi, na początek będą się tu znajdować luźne przemyślenia, na temat tego zdania...