Friday, April 8, 2016

Architecture fundamentals

· BDUF: Big Design, Up Front

Big Design Up Front is an approach in software development that software design should be perfect and completed before implementation started.

· Separation of Concerns: Defined as logical grouping of responsibilities.

It is one of the design principle. Divide the application into different section. Every section should refer to different concern. 

· SRP: Single Responsibility Principle, to reduce coupling

Single Responsibility principle states that every class should have only one reason to change. It means every class should have single responsibility.

· DRYP: Don’t repeat yourself principle.

DRDYP states that “every piece of information should be unique and unambiguous. You can implement the DRYP by breaking the code into functions and call them instead of copy paste the code more than one place.

· Open Closed principle.

A class should be open for extension but closed for modification.

· Liskov Substitution principle.

A parent should be able to replace its child. Means if a class A inherited an interface which contains 3 method but one method no use for class A than better is break this interface into two interfaces.

· Interface Segregation

A client should not be force to use an interface if it does not need it.

· Dependency Inversion Principle.

High Level Module should not depend on Low level module. Both should depend on abstraction.

No comments: