- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一. 设计模式
什么是设计模式?
设计模式 (Design pattern)是一套被反复使用、多数人知晓的、经过分
类编目的、代码设计经验的总结。
应用设计模式有什么好处?
设计模式是优秀的使用案例,使用设计模式可提高代码的重用性、让代
码更容易被他人理解、保证代码的可靠性。
23种设计模式:
二.设计原则
1.单一职责原则:
就一个类而言,应该仅有一个引起它变化的 。如果一个类承担的职责过多
,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力
。这种耦合会导致脆弱的设计,当变化发生时,设计会 到意想不到的破坏。
APPLICATIONS
2.开放—封闭原则:
软件实体 (类、模块、函数等)应该可以扩展,但是不可以修改。对于
扩展是开放的 (Open for extension ),对更改是封闭的 (Closed for
modification)。面对需求的改变可以保持相对稳定,从而使得系统可以在第一个版本以后不
断推出新的版本。
3.依赖倒转原则:
A. 模块不应该依赖底层模块。两个都应该依赖抽象。
B.抽象不应该依赖细节。细节应该依赖抽象。
4.里氏代换原则:
子类型必须能够替换掉它们的父类型。一个软件实体如果使用的是一个父类的话
,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别。也就是说,在软件里面,
把父类都替换成它的子类,程序的行为没有变化。
二.设计原则
5.迪米特法则 (最少知识原则):
如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互
作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三
者转发这个调用。迪米特法则首先强调的前提是在类的结构设计上,每一个类都应当尽量降
APPLICAT IONS
低成员的 权限。(类之间的耦合越弱,越利于 复用,一个处在弱耦合的类被修改,不会对有关
系的类造成波及。)
6.接口 原则 (Interface-Segregation Pr iple):
其 思想是:使用多个小的专门的接口,而不要使用一个大的总接口。
具体而言,接口 原则体现在:接口应该是内聚的,应该避免 “胖”接口。一个类对另外一
个类的依赖应该建立在最小的接口上,不要强迫依赖不用的方法,这是一种接口污染。
三.工厂模式
什么是工厂模式?
1.工厂模式概念:
AP PL ICATIONS
实例化对象,用工厂方法代替new操作。
工厂模式包括工厂方法模式和抽象工厂模式。
抽象工厂模式是工厂方法模式的扩展。
2.工厂模式的意图:
定义一个接口来创建对象,但是让子类来决定哪些需要被实例化。
工厂方法把实例化的工作推 子类中去实现。
3.什么情况下适合工厂模式:
有一组类似的对象需要创建。
在编码时不能预见需要创建哪种类的实例。
系统需要考虑扩展性,不应依赖于产品类实例如何被创建、组合和表达
的细节。
三.工厂模式总结
1.工厂方法模式和抽象工厂模式对比:
工厂模式是一种 情况的抽象工厂模式,而抽象工厂模式可以看成是
工厂模式的推广。
工厂模式用来创建一个产品的等级结构,而抽象工厂模式是用来创建多
个产品的等级结构。
工厂模式只有一个抽象产品类,抽象工厂模式有多个抽象产品类。
2.工厂模式的实现帮助我们:
系统可以在不修改具体工厂角色的情况下引进新的产品。
客户端不必关心对象如何创建,明确职责。
更好的理解面向对象的原则,面向接口编程,而不要面向实现编程。
3.什么情况下适合工厂模式:
有一组类似的对象需要创建。
在编码时不能预见需要创建哪种类的实例。
系统需要考虑扩展性,不应依赖于产品类实例如何被创建、组合和表达
的细节。
四.单例模式
什么是单例模式 (Singleton) ?
APPLICATIONS
有些对象我们只需要一个,比如:
您可能关注的文档
- estro课件d3 leemansneck放化疗后颈部管理.pdf
- 高数课件佚名3 d6 4定积分应用.pdf
- q36极端动物作者莱斯特插画signenordin.pdf
- 人教版小学语文三年级上册课件资源27陶罐铁罐.pdf
- ad使用教程altiumdesigner实战攻略与高速pcb设计第十章原.pdf
- 贵州观山湖区面向2024届公费师范毕业生招考聘用教师58人笔试历年典型考题及考点研判与答案详解.docx
- 浙江宁波鄞州区质量检测中心(挂鄞州区食品检测中心)招考聘用编外人员笔试历年典型考题及考点研判与答案详解.docx
- 重庆市面向东南大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题43笔试历年典型考题及考点研判与答案详解.docx
- 重庆市面向华南理工大学定向选调2024届大学毕业生44笔试历年典型考题及考点研判与答案详解.docx
- 重庆市面向北京航空航天大学定向选调2024届大学毕业生2024年国家公务员考试考试大纲历年真题453笔试历年典型考题及考点研判与答案详解.docx
- 浙江金华市公共资源交易中心永康市分中心编外人员招考聘用笔试历年典型考题及考点研判与答案详解.docx
- 浙江宁波慈溪市政协办公室招考聘用编外工作人员笔试历年典型考题及考点研判与答案详解.docx
- 浙江金华永康市西溪镇人民政府招考聘用笔试历年典型考题及考点研判与答案详解.docx
- 福建南平市公安局建阳分局招考聘用辅警笔试历年典型考题及考点研判与答案详解.docx
- 浙江嘉兴海盐县武原街道基层残疾人工作专职委员(公益岗位)招考聘用笔试历年典型考题及考点研判与答案详解.docx
- 浙江宁波知识产权保护中心招考聘用工作人员笔试历年典型考题及考点研判与答案详解.docx
- 浙江杭州建德市面向2024届普通高校毕业生招考聘用教师(第二批)16人笔试历年典型考题及考点研判与答案详解.docx
- 浙江省台州中学面向2024届普通高校毕业生招考聘用教师12人笔试历年典型考题及考点研判与答案详解.docx
- 湖北师范大学体育学院专任教师招考聘用笔试历年典型考题及考点研判与答案详解.docx
- 重庆市南岸区教育事业单位面向2024届高校毕业生招考聘用114人笔试历年典型考题及考点研判与答案详解.docx
文档评论(0)