论单一职责
对象设计不是关于标准化数据的,它是关于标准化行为的。
职责是什么?职责即对象的行为,而类继承与接口实现的区别是类是 is a 的关系,接口是 can do的关系,所以代表对象职责的应该是接口,而不是类。
这并不是说类就不应该是单一职责的,我们可以创建万能类。只是说,类应该表示一个完整的对象模型,而一个完整的对象模型就可能拥有多个职责,如果完全按照单一职责的原则来实现类,那么就会出现类爆炸以及不完整的现象,我们看到的只是某个模型的一个片段。当然,万能类肯定是不对的。
所以,如何来设计对象与接口,如何确定是否违反单一职责原则,都应该从行为即职责上去判断,不同职责的行为应该被抽象成不同的接口,而可能有几种职责,组成一个完成的对象模型,即类。
作者:文野
出处:http://stwyhm.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
出处:http://stwyhm.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。