
设计模式
文章平均质量分 69
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、设计模式是软件工程的基石,如同大厦的一块块砖石一样。希望通过它能够让我的编程之路看的更远更强大。
格林希尔
少年 远望 远行
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
结构型模式-桥接模式
调用Platform对象的display()方法来展示书籍,当需要实现具体的平台类如电脑 手机 平板时,每个平台类都继承自Platform实现display()方法来展示不同类型的书籍。调用display()方法来展示书籍每本书都以不同方式在不同的平台上展示,这样桥接模式可以将不同的类分离开来并使其易于扩展和修改。代码实现了三种具体的平台类:电脑 手机 平板,每个类都重写了display()方法,支持以特定的方式在对应平台上展示书籍。使用桥接模式在不同的平台上展示不同类型的书籍。原创 2023-04-12 12:49:03 · 834 阅读 · 0 评论 -
结构型模式-代理模式
使用代理模式可以在用户点击某本书籍时只加载该书籍的部分信息(如标题、作者等),在需要查看其详细信息时再实时地加载这样减少了初始加载时间提高了响应速度。页面需要展示图书中的详情信息,需要在用户点击某本书籍时加载其详细信息。使用代理模式可以减少初始页面加载时间并提高程序的响应速度可以轻松地实现对需要懒加载的对象进行管理和控制使其更加灵活和易于扩展。开放-封闭原则:如果需要增加新的功能,可能需要修改代理对象和实际对象的代码,违反该原则。代理类中一般将需要懒加载的对象看作共享的外部状态从而提高程序的性能和效率。原创 2023-04-12 12:48:40 · 500 阅读 · 0 评论 -
结构型模式-适配器模式
将一个类的接口转换成客户端所期望的另外一个接口,从而使得原本不兼容的类能够协同工作。这种方式可以提高代码的重用性和通用性,同时也能够简化系统的设计和实现。避免多次重复创建由Book转化而来的相似对象通过适配器仅添加了额外的标记字段保证了系统的可扩展性和灵活性。将一个已存在的类进行接口转换时使用;当需要复用一些现存的类,但是其接口与我们所需要的不一致时使用。接口隔离原则:当适配器需要实现一个接口的时候,由于接口中包含了许多不必要的方法,可能违反该原则。提高了代码的复用性,让原本不可复用的类可以被复用。原创 2023-04-12 12:50:26 · 341 阅读 · 1 评论 -
结构型模式-装饰器模式
一个新的SalesHistoryDecorator对象将原始的Book对象和SalesHistoryImpl对象传入其中,使用装饰器对象来模拟销售并打印所有书籍的销售历售记录。通过在不改变原有对象结构的基础上,动态地为对象添加新的功能或者修改现有功能,从而增强对象的功能和可定制性。开放-封闭原则:由于在装饰器模式中,核心组件和装饰器之间是通过继承关系实现的,因此对于修饰过后的组件进行修改时,需要同时修改所有的装饰器,这样可能违反该原则。在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责;原创 2023-04-12 12:50:00 · 683 阅读 · 0 评论 -
构型模式-享元模式
单一职责原则:在享元模式中,由于需要将内部状态和外部状态进行分离,可能会导致组件既承担业务逻辑职责,又桥接模式中,抽象部分和实现部分都需要定义自己的接口。使用享元模式将不变的部分(如书名 价格)抽象成共享部分动态获取其它属性,可以避免重复创建相同的图书实例节省内存并提高性能。通过共享已经存在的对象来减少对象的数量,从而提高系统的性能和效率。需要遵循内部状态和外部状态的划分,增加了代码的复杂度。这样维护了一个图书列表并提供了按照价格范围筛选的方法,进行筛选时只需要遍历该列表的元素筛选价格在指定范围内即可。原创 2023-04-12 12:49:35 · 550 阅读 · 0 评论 -
结构型模式-组合模式
以统一的方式处理单个对象和组合对象,从而使得客户端能够将它们视为同一个对象来使用。因为每个组件既可以作为独立的对象存在,也可以作为组合对象的一个部分存在。使用组合模式将每本书籍看作叶子节点将多本书籍组成的集合看作组合节点,通过递归遍历整个书籍树形结构累加每本书籍的价格得到总价值。根据书籍类型漫画、杂志编写一个方法来计算书籍价值,对于不同类型的书籍按照不同的规则进行计算。对于特殊类型的书籍可以在其子类中实现自己特定的计算规则使其符合业务需求。可以轻松地实现对所有书籍价格的统计而无需考虑书籍层级结构的复杂性。原创 2023-04-12 12:46:24 · 445 阅读 · 0 评论 -
结构型模式-外观模式
addNewBook()和removeBook()方法用于添加和删除书籍,addUser()和removeUser()方法用于添加和删除用户,borrowBook()和returnBook()方法用于借出和归还图书。可以使用外观模式对其进行重构,定义一个名为LibraryFacade的外观类,该类将封装所有其他类的操作。不符合开放-封闭原则,因为在增加新的功能时需要修改外观类内部的实现;LibraryFacade类代表了整个系统的外观包含了所有其他类的实例,公开了一组简单的方法来处理特定的功能。原创 2023-04-12 12:48:29 · 749 阅读 · 0 评论 -
设计原则(单一职责原则 开放封闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则)
设计原则(单一职责原则 开放封闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则)原创 2023-04-08 14:35:28 · 1387 阅读 · 0 评论 -
行为型模式-备忘录模式
行为型模式-备忘录模式原创 2023-04-09 21:35:52 · 620 阅读 · 0 评论 -
行为型模式-访问者模式
行为型模式-访问者模式原创 2023-04-09 21:32:05 · 622 阅读 · 0 评论 -
行为型模式-状态模式
行为型模式-状态模式原创 2023-04-09 21:32:22 · 459 阅读 · 0 评论 -
行为型模式-观察者模式
行为型模式-观察者模式原创 2023-04-09 21:35:17 · 657 阅读 · 0 评论 -
行为型模式-中介者模式
行为型模式-中介者模式原创 2023-04-09 21:32:53 · 666 阅读 · 0 评论 -
行为型模式-解释器模式
行为型模式-解释器模式原创 2023-04-08 17:10:11 · 639 阅读 · 0 评论 -
行为型模式-命令模式
行为型模式-命令模式原创 2023-04-08 17:08:31 · 1415 阅读 · 0 评论 -
行为型模式-责任链模式
行为型模式-责任链模式原创 2023-04-08 17:10:21 · 1050 阅读 · 0 评论 -
行为型模式-模板方法
行为型模式-模板方法原创 2023-04-08 17:05:54 · 1194 阅读 · 0 评论 -
行为型模式-策略模式
行为型模式-策略模式原创 2023-04-08 17:04:46 · 146 阅读 · 0 评论 -
创建型模式-原型(Prototype)-解决复制创建对象问题-浅拷贝深拷贝
创建型模式-原型(Prototype)-解决复制创建对象问题-浅拷贝深拷贝原创 2023-04-08 15:00:58 · 1246 阅读 · 0 评论 -
创建型模式-建造者模式(Builder)-解决复杂对象创建问题
创建型模式-建造者模式(Builder)-解决复杂对象创建问题原创 2023-04-08 14:56:45 · 980 阅读 · 0 评论 -
创建型模式-单例(Singleton)-解决访问创建对象的问题
创建型模式-单例(Singleton)-解决访问创建对象的问题原创 2023-04-08 14:57:48 · 964 阅读 · 0 评论 -
创建者模式-简单/工厂/抽象工厂-解决简单对象创建问题
创建者模式-简单/工厂/抽象工厂-解决简单对象创建问题原创 2023-04-08 14:54:10 · 580 阅读 · 2 评论 -
策略模式---Java记录
这几天通过《HeadFirst》这本书,我再一次开始对对设计模式的学习并通过JAVA的代码来进行实践。希望我的学习记录和分享可以帮助您有新的认识,也欢迎您的留言沟通。历程 程序代码的完善是随着一条故事的主线来发展的,更据不同的环境目标需求会有新的设计和编写。故事的起点仅仅只是一个简单的OO技术的应用,一个类的继承。 但是当涉及“维护”时,为了“复用”(reus原创 2018-02-04 18:53:04 · 359 阅读 · 9 评论 -
观察者模式---Java记录
前言 观察者的学习又是一次新的收获,对于设计模式越发好奇,能够更多的体会到,这些设计方式是前辈们不断尝试思考得出 的宝贵方法,针对特定的抽象的问题制定出目前可靠性维护性极佳的一种编程方式。观察者解决的问题 那么从解决问题的角度来看,观察者可以帮我们搞定什么样的问题呢? 信息交互 实际应用举例:关注的微信公众号 ; 订阅的邮件 等。解决方式 ...原创 2018-02-25 21:38:39 · 343 阅读 · 24 评论 -
设计模式---六个创建型模式
六个创建型模式原创 2017-01-13 20:06:50 · 580 阅读 · 17 评论 -
设计模式---七个结构型模式
结构型模式原创 2017-01-14 21:12:30 · 830 阅读 · 19 评论 -
设计模式---十一个行为型模式
十一个行为型模式原创 2017-01-16 11:32:10 · 713 阅读 · 26 评论