Cześć,
Internet zalała fala identycznych tutoriali odnośnie web application architecture. Każdy w tych tutorialach dodaje coś od siebie, zamazując faktyczne praktyki.
Moje pytanie jest gdzie najlepiej znaleźć rzetelną bazę wiedzy (może być j.angielski) na temat architektury ?
Dodatkowo interesowałyby mnie przykłady, gotowe projekty np na github projektów w Javie (spring albo inny framework) z architekturami. Wiem, że na gicie można wyszukać ale 99% projektów to jakieś 'simple mvc' gdzie operacje sprowadzają się do tworzenia metod typu findAll lub findById.. Chciałbym popatrzeć kilka większych projektów najlepiej biznesowych lub z dużą logiką biznesową (zarządzanie obiektami itd).
Czemu taki temat ?
Czytając o architekturze MVC natrafiłem na na (kolejny..) banalny przykład (resty, serwisy, repozytoria).
Wszystkie obiekty (domeny) w warstwie biznesowej są praktycznie mutowalnymi obiektami. Wszystkie pola to private, wraz z użyciem lombok @data. Brak jakichkolwiek operacji wykonywanych bezpośrednio przez obiekt. Natomiast cała logika biznesowa jest w serwisach, gdzie kod pisany jest proceduralnie.
Przykład:
// InvoiceService
public void issueInvoice(int invoiceId) {
Invoice invoice = invoiceRepository.findById(invoiceId);
for(Service s: invoice.getServices()) {
if(s.costam) proceduralnieZrobCostam();
}
invoice.setSettled(true);
invoiceRepository.update(invoice);
}
Czy sam fakt wystawiania faktury nie powinien być robiony przez obiekt Invoice ?
Przykładowo:
// InvoiceService
public void issueInvoice(int invoiceId) {
Invoice invoice = repositoryInvoice.findById(invoiceId)
if(invoice.canBeSettled()) {
invoice.settle() // to faktycznie wykonuje rozliczenie usług
}
// jakieś inne operacje
}
Podsumowując.
Chciałbym zobaczyć kilka projektów z różnymi architekturami (nie tylko MVC), które mają sensowną logikę biznesową oraz architekturę, Niestety ciężko znaleźć w internecie coś innego niż 'example' z biznesówki. Dodatkowo chciałbym jakieś wiarygodne źródło.
Pozdrawiam