Design Smells And OO Design Principles

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Design Smell - The Odors of Rotting Software

1.Rigidity - THe system is hard to change because every change forces many other changes to other parts of the system.

2.Fragility - Changes cause the system to break in places that have no conceptual relationship to the part that was changed.

3.Immobility - It is hard to disentangle the system into components that can be reused in other system.

4.Viscosity - Doing things right is harder than doing things wrong.

5.Needless Complexity - The design contains infrastructure that adds no direct benefit.

6.Needless Repetition - The design contains repeating structures that could be unified under a single abstract.

7.Opacity - It is hard to read and understand.It does not express its intent well

Princples of object-oriented design that help developers eliminate design smells and build the best designs for the current set of features

SRP - The Single Responsibility Principle

OCP - The Open-Closed Principle

LSP - The Liskov Substitution Principle

DIP - The Dependency Inversion Principle

ISP - The Interface Segregation Principle

SRP: A class should have only one reason to change.

OCP: Software entities(classes,modules,functions,ect.)should be open for extension,but closed for modification.

LSP: Subtypes must be substitutable for their base types.

DIP: High-level modules should not depend on low-level modules.Both should depend on abstractoins;Abstractions should not depend on details.Details should depend on abstractions.

ISP: Classes have "fat" interface can be broken into groups of methods by,each group serves a different set of clients;clients should not know about them as a single class.

refer to the <<Agile Software Development>> -- Martin

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航