Sprawdź co nowego w świecie clean code i architektury oprogramowania.

Czym jest podejście composition over inheritance? Dzisiaj o tym, dlaczego każdy powinien przemyśleć czy dziedziczenie klas w jego projekcie jest naprawdę potrzebne. Prawdopodobnie powinieneś ograniczyć dziedziczenie klas na rzecz ich kompozycji.

Command-Query Separation, czyli zasada o rozdzielaniu zadań metod tak, aby były jedynie komendami lub zapytaniami. Jeżeli Twoja metoda realizuje logikę i zwraca wyniki, lub podczas pobierania danych wykonuje side taski, to łamie ona CQS.

Omawiam dzisiaj mało znaną zasadę, której stosowanie skutkuje posiadaniem łatwo utrzymywalnego i testowalnego kodu. Mowa o prawie demeter, które w najprostszym ujęciu zakłada, że obiekty powinny operować jedynie na najbliższym im otoczeniu.

Dzisiaj o popularnym wzorcu strukturalnym: fasada. Wielu programistów nie zdaje sobie nawet sprawy, że z niego korzysta. Z pewnych względów (a raczej niepoprawnych implementacji) wzorzec facade może być postrzegany jako „anty pattern”.

Z jednej strony wiemy o encji będącej reprezentacją wiersza z tabeli bazy, a z drugiej o miejscu na logikę biznesu. Encja może mieć tylko zmapowane pola bazy czy coś więcej? Dzisiaj o tym, kiedy lepiej mieć encje bogate, a kiedy anemiczne.

Przybliżę dzisiaj koncept Value Objects, które w głównej mierze mogą kojarzyć się z Domain Driven Design, ale czy powinniśmy wrzucać je do tego samego worka? Dziś o tym dlaczego Value Object to nie coś dedykowanego jedynie DDD.