PHP je věda

Objektově orientované programování nejen v PHP

Dva základní typy objektů – Datový objekt a služba

Rozdělení kódu do datových objektů a služeb je zásadní. Existuje více typů datových objektů, případně služeb, k těm se však dostaneme později. Lze však obecně říci, že datový objekt obsahuje data a služba manipuluje, případně vytváří datové objekty.

Datový objekt:

Služba

Uložení stavu a zpracování logiky jsou dvě rozdílné věci a pokud chcme zabránit špageti kódu, měli bychom tyto dvě vlastnosti objektů striktně oddělovat. Už v předchozím příkladu (Objekt jako špageti) jsme viděli, jak míchání logiky a dat v jednom a tom samém objektu znepřehlední práci. Kdežto rozdělení zdrojového kódu na datové objekty (InputData, Outputdata) a service OOPCalculator práci zpřehlední.

Jak konkrétně docílit správného rozdělení na datové objekty a služby se budu blíže věnovat v kapitole Domain Driven Design. Zároveň se budu pokoušet v příkladech tento princip dodržovat s nadějí, že se to nějak přirozeně vstřebá.