SOLID原则,单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则、依赖倒置原则

面向对象的五个基本原则:单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则、依赖倒置原则

单一职责原则:单一职责原则规定一个类应该只有一个发生变化的原因

1.我在这要说明的是,单一职责是相对而言的,过度的细分会造成类的大量增加,无形中造成了系统的复杂程度,反倒不利于维护,例如:在日志类中,有保存到将日志记录到数据库的方法SaveToDB(string msg)、有将日志记录到文本的方法SaveToText(string msg),如果这时候把日志类分为日志DB类、日志文本类就复杂化了

2.当然,这也要看系统的规模,相关功能的复杂程度,例如:这个日志类相当的复杂,例如:日志DB类分为保存到mysql数据库、Oracle数据库、MySql数据库等,日志文本分为保存到txt、excel、pdf等,还有保存到数据库的时候要发送邮件通知管理员而日志记录到文本无需发送邮件,这个时候是完全有必要分为日志DB类和日志文本类的!

所以我们在设计系统的时候,我们遵守原则是为了开发出易维护、易理解的东西,而不是为了遵守原则而遵守原则,如果我们的业务没有那么复杂,就不要太过细分!反而可以更加的易维护、易理解

开放封闭原则:对扩展开放,对修改关闭,这一原则是对单一职责的补充,我们应该通过继承,扩展其功能,而不是向类中添加更多的职责。

里氏替换原则:任何基类可以出现的地方,子类一定可以出现。

接口隔离原则:一个类对另外一个类的依赖性应当是建立在最小的接口上的。

依赖倒置原则:程序要依赖于抽象接口,不要依赖于具体实现。简单的说就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。例如,在SearchController中,我们不应当直接调用数据访问层,而是应该使用接口

 

posted @ 2017-09-08 16:47  天玄剑  阅读(1059)  评论(0)    收藏  举报