![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Java设计模式
小小绿豆
一枚热爱code的小绿豆
展开
-
设计模式(8、装饰器模式)
装饰器模式: 透明的方式动态扩展对象的功能。原创 2023-02-10 15:42:56 · 140 阅读 · 0 评论 -
设计模式(7、桥接模式)
抽象子类就可以使用接口的方法了,聚合使用:抽象类对象 = new 抽象子类(接口实现类),组合使用:抽象类对象 = new 抽象子类(),抽象类对象.setter(接口实现类);抽象的子类构造方法super(接口对象),"这里初始化抽象的接口属性,聚合和组合都可以",完成初始化抽象父类,完了之后,具体实现:一个接口定义多个方法,多个接口实现类实现接口的方法,一个抽象类聚合接口,添加方法每个方法都组合方式调用接口方法,我的理解,有点像对象和对象间的N-N关系的中间桥接的作用,容易扩展,不会出现类爆炸。原创 2023-02-09 16:47:53 · 137 阅读 · 0 评论 -
设计模式(6、适配器模式)
3个角色:源、适配器、目标 3种形式: 类适配器-一个源类(1个方法)、一个目标接口(2个方法)、一个适配器(继承源、实现接口); 对象适配器-一个源类(1个方法)、一个目标接口(2个方法)、一个适配器(组合源、实现接口); 接口适配器(缺省适配模式)-一个目标接口(多个方法)、一个抽象类(默认空实现所有接口方法)、用的时候new匿名抽象内部类覆盖单独的方法; 例子:springMvc的HandlerAdapter; 类适配器 UML类图: 代码实现: /** *...原创 2021-06-26 15:01:39 · 137 阅读 · 0 评论 -
设计模式(5、建造者模式)
建造者模式:用于产品和产品建造过程解耦; 方式一、4个角色: 1、产品-具体对象 2、抽象建造者-定义建造者公共方法 3、具体建造者-具体的建造实现 一个产品属性、多个建造方法、一个返回产品方法; 产品作为属性,构造方法传进去,多个建造方法修改产品,一个get产品方法返回最终建造成的产品 4、指挥者-调用建造者方法构造具体的产品 一个创建产品对象的方法,传入抽象构造者,构造者调用多个建造方法,最后调用建造者的返回产品方法得到...原创 2021-06-26 11:24:49 · 555 阅读 · 0 评论 -
设计模式(4、原型模式)
定义:拷贝原型创建新的对象; 对象克隆-程序更高的效率和扩展性; 对象调用Object的clone方法,必须实现Cloneable接口,默认是浅拷贝; 概念: 浅拷贝-值类型拷贝和引用拷贝,引用的具体对象不拷贝,Object的clone方法; 深拷贝-实现引用对象的拷贝、可以使用1.重写clone方法,引用属性逐个拷贝或 2.对象的序列化和反序列化实现(简单、常用); ...原创 2021-06-21 15:37:41 · 86 阅读 · 0 评论 -
设计模式(3、抽象工厂)
抽象工厂:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。 抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。 ...原创 2021-06-20 14:50:41 · 82 阅读 · 0 评论 -
设计模式(2、简单工厂 | 工厂方法)
工厂方法: 对简单工厂模式的进一步抽象化,其好处是可以使系统在不修改原来代码的情况下引进新的产品,即满足开闭原则。简单工厂: 工厂类提供静态方法,根据不同参数创建不同的抽象实例对象。原创 2021-06-20 14:44:50 · 100 阅读 · 0 评论 -
设计模式(1、单例模式)
单例模式的作用1.用于单个实例存储统计数据,2.节省内存; spring中默认的bean作用域就是单例;原创 2021-06-04 11:38:32 · 79 阅读 · 1 评论 -
设计模式(开篇)
很久之前对Java设计模式学了下,但并没有彻底的整理和代码实现,最近业余抽空撸下理论和代码,加强下理解; 设计模式的重要性不言而喻,代码的扩展性、复用性、健壮性等等,都需要用到设计模式的思想,也就是说要想写出优雅的代码,要有设计模式的思想。很多框架的实现都基于设计模式思想,学习设计模式对阅读框架源码也很有帮助; 先来下设计七原则: 单一职责原则。对类来说,即一个类应该只负责一项职责。 开闭原则。对扩展开放,对修改关闭。在程序需要进行扩展的时候,不能去修改原有代码,使用接口和抽象类实现一个热插拔的效果。.原创 2021-06-03 16:24:18 · 76 阅读 · 0 评论