Profile

Showing posts with label Resilient system. Show all posts
Showing posts with label Resilient system. Show all posts

Saturday, August 9, 2014

Resilient Object Model. Rules for Identifying Objects


The question then is how does one identify objects such that each object has a unique capability. The trick to identifying such objects is to look at the vocabulary of the conceptual model and look for Nouns. Each noun connotes a distinct capability.

When the vocabulary of conceptual model uses compound nouns then the above rule for identifying objects needs to be modified a little bit.  A compound noun is usually of the form Adjective + Noun (example Pink ball) or Noun + noun (Tennis + Shoe). 

Let’s illustrate as to what is to be done, in these cases, through the example of two objects - Tennis shoes and Football shoes. Both of these objects share a noun – shoes. A commonality of nouns would imply that the two objects share some common capability. Our rule for objects is that there should not be any overlap of capabilities between different objects.  Hence there is a case to split the object 3 ways – Shoes, Tennis shoes and Football shoes. As explained in previous section the object Tennis shoes as well as Football shoes will inherit the common capability of shoes from the object Shoes.  In such an arrangement of objects if a change were to be made in the capability of shoes then it will need to be done in one place only, namely in the object called Shoes.

Friday, August 8, 2014

Resilient Object Model. Governing rule for Objects



Object model requires us to identify the key objects, their identities and their behavior.

In the design of a Resilient System, the governing rule for objects is that each object should deliver a capability that is distinct from other objects. If two objects – Say object A and object B - have common overlapping capabilities then a separate object, object C, should be created for the common overlapping capability.  Both object A and object B would acquire the capability of object C through inheritance. It is assumed that the reader understands the concept of inheritance.

This method of identifying objects creates an Object model that is resilient in the face of change. Such a system is resilient because with no duplication of capability across objects, any one particular change is localized to only one object and does not have to be repeated across objects. This containment of changes is what helps the system remain resilient and cope with the change