- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计模式学习总结(一)
前言:推荐几本相关的书:(1)Head First Design Patterns曾经买Head First系列的时候买的一本书,是java语言的案例,但是完全不影响你了解设计模式。这系列的书就是有很多图,做快速了解建议买。(2)大话设计模式1个月前买的,看作者简介是名老师,里面就是菜鸟和大鸟的对话举出很多例子,案例也相当不错。这本书最起码让我感觉特别不错。(3)重构与模式这本是必须要看的一本书,前几张讲了什么是重构,什么是模式。然后两者之间的关系。后边是是讲设计模式的动机,做法,实例,变体。也不分什么创建,行为,结构什么的。最后一章是重构的实现。一.设计原则单一职责原则告诉我们实现类要职责单一;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;接口隔离原则告 诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合。而开闭原则是总纲,他告诉我们要对扩展开放,对修改关闭。1.开闭原则OCP(Open-Close Principle)【开指的是对扩展开放,关指的对修改关闭。】我把它理解为“一国两制”原则。一国两制怎么说:香港澳门继承了中国这个类,表示说:一个中国不可改变,但针对与港澳实际情况,他们实行的是资本主义经济。?2.单一职责原则RRP(Single Responsibility Principle)【一个类应该只有一个发生变化的原因。】高内聚低耦合这就是我们写程序的目标,但是很多时候高耦合会在不经意间就产生了,这大多是因为职责扩散造成的。这个原则最好理解,又最容易违背这个原则。原因就是职责这个家伙不好确认。3.依赖倒转原则DIP(Dependency Inversion Principle)【抽象不应当依赖于细节,细节应当依赖于抽象;高层实现不依赖底层实现。】 想想让你封装一个类的时候你首先会做什么。会先封装接口,再写实现。{#总工说这样处理才是合理的。原因就在这#}。面向接口编程而非实现。这个原则在我看来也是面向对象设计的标志。举个例子:usb是不是所有的的电脑都能通过usb接口连接。如果联想的usb接口和苹果的usb接口不一样,那么你买了一个200多的USB键盘,结果是不是就不能公用了。4.里氏代换原则Liskov Subsitution Principle(LSP)【子类可以扩展父类的功能,但不能改变父类原有的功能】里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。有这么一句话:里氏代换原则是继承复用的一个基础。检验你是否遵循了里氏代换原则的方法:如果调用的是父类的话,那么换成子类也完全可以运行。动物?dongwu=new 猫();其中【把猫换成狗】也是正常的就说明你是遵循这个原则的。{注:我在网上看过一个“企鹅是鸟不会飞”的例子,这也是自己犯这个错误的原因。这例子在这不说了,你可以试着去找一下去。}5.接口隔离原则Interface Segregation Principle(ISP)从字面上来讲就是一个不要把接口写的太臃肿。查资料大致说的就是有两种分离方式一种是“定制服务”和“角色隔离”。在工作当中有没有这样的问题存在:同一个模块,因为没有安排得当两个人都去开发,最后一定是有个人白做了。所以有时候,项目管理软件就显的那么的有必要。定制服务:大致来讲就是我针对一个客户端,我的一些方法放到一个接口里,另一个客户端我的一个类放在另一个接口里面。角色隔离:是指一个客户端有多个方法,多个方法写多个接口。【友情提醒:接口也不要分的太细,要不然结果就是接口太多。】6.迪米特原则Law of Demeter?又称Least Knowledge Principle(LKP)最少知识原则【我的理解就是:这个原则不希望类与类之间不要建立直接联系。】简单来说就是不和陌生人说话。类与类之间一定会存在互相调用的?网上查了一下,说可以用友元类来转达。降低类本身和成员的访问权限,达到【低耦合,高内聚】是其目的。【和ISP接口隔离原则一样,限制类与类之间的通信。ISP限制的是宽度,而LoD迪米特原则限制的是通信的广度和深度。】。外观模式(Facade Pattern)和中介者模式(Mediator Pattern)就使用了迪米特法则。?一.设计模式???【创建型的设计模式】?1.单例模式?原则:确保一个类只有一个实例,并提供一个全局访问点?举例:打印机就是最好的例子,打印就是纸打印一个对象多的话就进行排队。?主要解决:一个全局使用的类频繁地创建与销毁。?优点:?1、在内存里只有一个实例,减少了内存的开销,尤其是频繁的创建和销毁实例(比如管理学院首页页面缓存)。 2、避免对资源的多重占用(比如写文件
您可能关注的文档
最近下载
- 通桥(2016)2321A-Ⅴ:时速350公里高速铁路预制有砟轨道后张法预应力混凝土简支箱梁(双线) 跨度:23.5m(直、曲线).pdf VIP
- 3D打印技术在脊柱外科和医学教育中的应用.docx
- 波谱分析 紫外光谱.ppt VIP
- 矿山供电技术ch1.1矿山供电系统.pptx VIP
- 备战2026年高考化学考试易错题(新高考)易错类型10 化学能与热能(8大易错点)(原卷版).docx VIP
- 年产6000吨猪肉脯加工车间设计.docx VIP
- 拼多多招股书全文中文201806.pdf
- 项目四混合动力汽车低压电路故障诊断低压铁电池无法唤醒.pptx VIP
- 神经电生理检查.pptx VIP
- 通桥(2016)2321A-Ⅱ预制有砟轨道后张法预应力箱梁双线31.5m.pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)