单一职责原则

单一职责原则是什么

应该有且仅有一个原因引起变更。通俗的将就是一个接口一个一个方法干的事情不要杂合在一起。

因为技术经验和技术水平,往往我们写出的代码基本上很少遵循单一的职责原则,具体还是要根据项目。在没有接触到单一职责原则我基本上不会分一个业务对象的属性和行为,这其实很不利于日后的维护和扩展。

单一职责的好处(三高)

可读性高,可维护性高,可扩展性高

例子

没有遵循单一职责的例子

    

public interface IUserInfo {

    boolean setUserInfo(UserInfo userInfo);

    UserInfo getUserInfo();

    boolean changePassword(String password);
}

修改成单一职责,可以将接口拆分成两个接口

Bussiness Logic

public interface IUserInfoBiz {
    boolean changePassword(String password);
}

Bussiness Object

public interface IUserInfoBO {

    boolean setUserInfo(UserInfo userInfo);

    UserInfo getUserInfo();
}

职责单一了,我们的类也变多了,其实还是需要根据项目实际出发。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...