i n t m e n t { f u n c t i o n s e t T i t l e ( $ t i t l e ) { . . . } f u n c t i o n g e t T i t l e ( ) { . . . } f u n c t i o n s e t S t a r t ( \ D a t e T i m e $ d a t e ) { . . . } f u n c t i o n g e t S t a r t ( ) { . . . } f u n c t i o n s e t D u r a t i o n ( $ d u r a t i o n ) { . . . } f u n c t i o n g e t D u r a t i o n ( ) { . . . } f u n c t i o n s e t L o c a t i o n ( $ l o c a t i o n ) { . . . } f u n c t i o n g e t L o c a t i o n ( ) { . . . } }
i n t m e n t S e r v i c e { f u n c t i o n u p d a t e ( $ a p p o i n t m e n t I d , $ t i t l e , $ s t a r t , $ d u r a t i o n , $ l o c a t i o n ) { $ a p p o i n t m e n t = $ t h i s - > r e p o - > f i n d B y I d ( $ a p p o i n t m e n t I d ) ; i f ( ! $ a p p o i n t m e n t ) { t h r o w n e w N o t F o u n d E x c e p t i o n ( ) ; } $ a p p o i n t m e n t - > s e t T i t l e ( $ t i t l e ) ; $ a p p o i n t m e n t - > s e t S t a r t ( $ s t a r t ) ; $ a p p o i n t m e n t - > s e t D u r a t i o n ( $ d u r a t i o n ) ; $ a p p o i n t m e n t - > s e t L o c a t i o n ( $ l o c a t i o n ) ; $ t h i s - > r e p o - > s a v e ( $ a p p o i n t m e n t ) ; } }
in the domain space, and these objects are connected with the rich relationships and structure that true domain models have. The catch comes when you look at the behavior, and you realize that there is hardly any behavior on these objects, making them little more than bags of getters and setters.”
p o i n t m e n t M o d e l { f u n c t i o n r e g i s t e r ( $ c o m m a n d ) { . . . } f u n c t i o n r e l o c a t e ( $ c o m m a n d ) { . . . } f u n c t i o n r e s c h e d u l e ( $ c o m m a n d ) { . . . } f u n c t i o n c a n c e l ( $ c o m m a n d ) { . . . } } c l a s s A p p o i n t m e n t V i e w { f u n c t i o n g e t T i t l e ( ) { . . . } f u n c t i o n g e t L o c a t i o n ( ) { . . . } f u n c t i o n g e t S t a r t ( ) { . . . } f u n c t i o n g e t D u r a t i o n ( ) { . . . } }
p o i n t m e n t H a n d l e r { f u n c t i o n h a n d l e R e l o c a t e A p p o i n t m e n t ( $ c o m m a n d ) { $ a p p o i n t m e n t = $ t h i s - > r e p o s i t o r y - > f i n d B y I d ( $ c o m m a n d - > a p p o i n t m e n t I d ) ; $ a p p o i n t m e n t - > r e l o c a t e ( $ c o m m a n d ) ; } } c l a s s C o m m a n d B u s { f u n c t i o n e x e c u t e ( $ c o m m a n d ) { $ t h i s - > v a l i d a t o r - > v a l i d a t e ( $ c o m m a n d ) ; $ t h i s - > d i s p a t c h ( $ c o m m a n d ) ; } p r o t e c t e d f u n c t i o n d i s p a t c h ( $ c o m m a n d ) { . . . } }