POODR by Sandy Metz. Chapter 1 Object Oriented Design
#POODR #Sandy #Metz #chapter1 #object #oriented #design #Ruby #SOLID #DRY
OOD in an application are the parts that interact to produc the behavior of the whole system (managing dependencies).
The change is harder when there is not such a OOD because, changing one object forces to change much more and then can cause a huge damage.
Practical definition of Design
"Agile Software requires design and a really good one, even the best. Because the succes relies on simple flexible and malleable code"
About Object Oriented Programming (OOP)
Object Oriented Language(OOL) vs Procedural Language.
In procedural languages, data is different than behaviour. Data package up the variables and passed to the behavior.
in OOL data plus behavior are one object.
Class is a blueprint (or manual of instructions), inside, methods are the definition of behavior and the attributes, the definition of variables.
"OOL are open-ended* and does not limit a small set. This can bring pleasure or pain, it's matter of design and the concern about this book."
*(See SOLID principles below)
Applications that live long enough have the problemof dealing with change, the eficiency is matter of design principles and patterns, but is not enough condition to guarantee an easy to change application, because of uncertain future.
The trick: Understand the theories of design and apply them well on the right time and in the right amounts, transforming this theory into practic and specially practicing more and more to get in the end to a real world full of change and uncerainity .