Skip to main content

Posts

Showing posts from September, 2014

Extending Object Oriented Programming concepts further with abstraction and interfaces

Few days back I wrote for Solid and Grasp principles for oops http://www.developerscloud.org/2014/08/oops-beyond-four-pillars-solid-and-grasp.html . Now I am again extending it to make it more matured way to write code. Let start with coupling and cohesion. Loose/Low Coupling low dependency between classes; low impact in a class of changes in other classes high reuse potential High Cohesion measure of how strongly-related or focused the responsibilities of a single module are If methods of a class tend to be similar in many aspects, then the class have high cohesion In highly-cohesive system, code readability and the likelihood of reuse is increased, while complexity is kept manageable. Also check Encapsulate what varies Favor Composition over Inheritance Program to interface not implementation Strive for loosely coupled design between objects that interact For Interfaces Like an abstract base class: any non-abstract type inhe...