Podejście typu „rób tak zawsze i koniec” jest moim zdaniem słabe. Tym bardziej, jeżeli nie padają żadne argumenty. Bo jak pojawiają się argumenty, to jest również dyskusja. Tak jest w kwestii podejścia „klasa powinna być finalna by default”, a ja przychodzę z argumentami, dlaczego nie 🙂
Warstwa domeny w Domain Driven Design jest prawdziwą wisienką na torcie. Powinniśmy dbać o nią, aby zawsze była czysta. Dziś przedstawię Wam kilka heurystyk, których stosowanie spowoduje, że Wasza domena nabierze barw 🙂
Wszyscy dookoła mówią, że encje powinny zawierać wyłącznie logikę biznesową, a nie settery. Niby wszyscy to wiedzą, ale każdy i tak robi te settery. Ja wiem, dlaczego tak się dzieje i z chęcią Wam o tym opowiem 🙂
Wzorców projektowych jest bardzo dużo, nawet jeżeli jakoś je pogrupujemy. A pogrupowałem już we wcześniejszym wpisie, którego temat będę kontynuował tutaj. Zapraszam więc na drugą część wpisu o wzorcach projektowych przyjaznych zasadzie OCP 🙂
Jednym z dziedzictw świata programowania są wzorce projektowe. Jest to meta-język, którym mogą posługiwać się programiści niezależnie od tego, w jakiej technologii, czy języku piszą. Bardzo podobnie jest z zasadami SOLID. Dziś połączymy te dwie rzeczy w pierwszym, z dwuczęściowej serii, wpisie.
Każdy komercyjny system, który odniósł biznesowy sukces, kiedyś rośnie. Istnieje jednak jedna, bardzo popularna pułapka, która z czasem powoduje zmianę aplikacji w ogromnego kolosa, z którym jest ciężko pracować; jest to brak jakichkolwiek warstw w systemie, nazywany przeze mnie architekturą płaską.
Programowanie aplikacji biznesowych, zwłaszcza w języku PHP, bardzo często skupia się na tworzeniu dobrego modelu, odzwierciedlającego domenę aplikacji. Istnieje kilka zasad, które pomagają w utrzymywaniu modelu w dobrej kondycji. W tym wpisie pod lupę weźmiemy jedną z tych zasad, a będzie nią Prawo Demeter.
CQS – (ang. Comand Query Separation) jest to jedną z podstawowych zasad stosowanych w programowaniu obiektowym, której fundamentalną zaletą jest bardzo pozytywny wpływ na czytelność kodu.