单一职责原则的定义是:应该有且仅有一个原因引起类的变更。
对于单一职责原则,我的建议是接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。
There should never be more than one reason for a class to change.
接口负责定义public属性和方法,并且声明与其他对象的依赖关系,抽象类负责公共构造部分的实现,实现类准确的实现业务逻辑,同时在适当的时候对父类进行细化。
注意 如果子类不能完整地实现父类的方法,或者父类的某些方法在子类中已经发生“畸变”,则建议断开父子继承关系,采用依赖、聚集、组合等关系代替继承。
尽量避免子类的“个性”,一旦子类有“个性”,这个子类和父类之间的关系就很难调和了,把子类当做父类使用,子类的“个性”被抹杀——委屈了点;把子类单独作为一个业务来使用,则会让代码间的耦合关系变得扑朔迷离——缺乏类替换的标准。
1.子类必须完全实现父类的方法
4.覆写或实现父类的方法时输出结果可以被缩小
世界上最难的事有两件:一是让人心甘情愿地把钱掏出来给你,二是把自己的思想灌输到别人的脑子里。
3.覆盖或实现父类的方法时输入参数可以被放大
❑高层模块不应该依赖低层模块,两者都应该依赖其抽象;❑抽象不应该依赖细节;❑细节应该依赖抽象。
模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的;❑接口或抽象类不依赖于实现类;❑实现类依赖接口或抽象类。
2.Setter方法传递依赖对象
3.接口声明依赖对象
❑任何类都不应该从具体类派生
❑尽量不要覆写基类的方法
❑接口要尽量小
❑接口要高内聚
用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。
《DBA攻坚指南》内容简介:本书主要分为Oracle和MySQL两大部分。第一部分介绍Oracle的日常运维,该部分由第1~4章构成,内容由浅入
创业需要好的设计,精益创业的用户体验设计是一种更快更智能的用户体验设计方法。本书讲述了众多精益用户体验设计的特点,通过多
《数据挖掘(第2版)》较全面系统地介绍了数据挖掘中常用和常见的数据挖掘方法,以及文本与视频数据挖掘方法。《数据挖掘(第2版)》
《平面设计材料表现与特殊效果》是一本涉及到数百种处理方式的指导书,并讲述了在你的设计中如何正确运用这些处理方式的相关知识
《Quarkus实战》内容简介:Quarkus建立在我们已熟知的基础技术之上。它使用JPA、JAX-RS、Eclipse Vert.x、Eclipse Micr...
谭浩强教授,我国著名计算机教育专家。1934年生,广东台山人。1985年清华大学自动控制系毕业。学生时代曾担任清华大学学生会主席
《工地社会》内容简介:在科技水平、现代设备和经济条件都十分有限的集体化时代,大型水利工程何以成为可能?本书以1958~1962年甘
《最新考博英语命题人高分策略:翻译强化特训》内容简介:博士研究生入学英语考试主要测试听力、语法、词汇、阅读理解、完形填空、
《让数据说话:数据可视化实战指南》内容简介:当代信息科学领域正面临数据爆炸的重大挑战,因此,海量数据的分析和处理显得越来越
Composedofthreesections,thisbookpresentsthemostpopulartrainingalgorithmforneural...
BookDescriptionUbiquitouscomputing--almostimperceptible,buteverywherearoundus--i...
《幸福,从看见自己开始》内容简介:书中探讨了现代人普遍存在的安全感、自我价值感、亲密关系、金钱观、孤独与自由等社会话题。两
《移动互联网时代文化产业商业模式》内容简介:这是一本面向大众,将国家社科基金重大项目"我国文化产业发展战略研究”之子课题"中
Android开发从入门到精通-项目案例版 本书特色 《Android开发从入门到精通(项目案例版)》作为Android书籍,从1行代码开始,详尽讲述了Andr...
《云计算安全与隐私》可以使你明白当把数据交付给云计算时你所面临的风险,以及为了保障虚拟基础设施和网络应用程序的安全可以采
人工智能及其在决策系统中的应用 内容简介 本书介绍了人工智能的概况,讨论了在决策支持系统中普遍应用的人工智能知识表示方法和搜索推理技术,并研究了计算智能和Age...
《绿色经典·名山大川——山川散文选》内容简介:什么是经典?常念为经,常数为典。经典就是经得起重复。常被人想起,不会忘记。依
W.RicharqdStevens,国际知名的LINIX和网络专家,备受赞誉的技术作家。他1951年2月5日出生于赞比亚,后随父母回到美国。中学时就
《Ruby设计模式》是一本关于设计模式方面的重点书籍。《Ruby设计模式》以通俗易懂的方式介绍了Ruby设计模式,主要包括Ruby概述、
《互联网营销:理念的颠覆与蜕变》内容简介:这本书把互联网商业的新营销思维,简要地归纳为四个英文字母SURE,分别代表口碑扩散(