设计模式
cenjianteng
这个作者很懒,什么都没留下…
展开
-
Java设计模式之责任链模式 Java实现责任链 Spring实现责任链
责任链模式:一次请求的调用,需要责任链中的一个或多个协助处理,依次经过调用责任链对象。(可以控制执行顺序)例如:过滤器、拦截器等原创 2022-01-27 14:53:47 · 1319 阅读 · 0 评论 -
Java设计模式之观察者模式 附代码实现
观察者模式:对象间存在一对多关系,当一个对象被修改时,自动通知其他的依赖对象public class ObserverPattern { public static void main(String[] args) { Subject subject = new Subject(); Task1 task1 = new Task1(); ...原创 2020-04-28 23:10:12 · 311 阅读 · 0 评论 -
Java设计模式之模板模式 附代码实现
模板模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。使用场景:1、定义整个算法的步骤结构,实现交给客户端来完成。2、几个类的算法基本相同,只有一些细微的差别时。public class TemplatePattern { public static void main(String[] args)...原创 2020-04-28 23:08:35 · 264 阅读 · 0 评论 -
Java设计模式之策略模式 附代码实现
策略模式:一个类的行为或其算法可以在运行时更改。应用场景:1、当有很多类似的类,但执行某些行为的方式不同时。 2、动态地在几种算法中选择一种。public class StrategyPattern { public static void main(String[] args) { doOperation doOperation = new doOperation(...原创 2020-04-28 23:07:13 · 342 阅读 · 0 评论 -
Java设计模式之装饰器模式 附代码实现
装饰器模式:在不改变原有对象结构的基础上,向现有对象添加扩展新功能。应用场景:动态扩展或撤销一个类的功能。public class DecoratorPattern { public static void main(String[] args) {// MobilePhone xiaoMiMobilePhone = new XiaoMiMobilePhone();...原创 2020-04-28 23:04:43 · 252 阅读 · 0 评论 -
Java设计模式之适配器模式 附代码实现
适配器模式:是作为两个不兼容的接口之间的桥梁。比如 美国电压110V,中国电压 220V,就要有一个适配器将 110V 转化为 220V。应用场景: 接口与其他代码不兼容时public class AdapterPattern implements ChinaVoltage { private AmericaVoltage americaVoltage; @Over...原创 2020-04-25 15:22:07 · 312 阅读 · 0 评论 -
Java设计模式之外观模式(门面模式)附代码实现
外观模式(门面模式):隐藏系统的复杂性,向客户端提供一个简单易用的接口。比如 有一组接口,如果客户端需要一个一个进行组装调用比较麻烦不太友好,此时Facade类对这些接口进行封装,提供简化易用的接口给客户端。客户端直接跟Facade打交道即可。public class FacadePattern { private Service1 service1 = new Service1...原创 2020-05-05 22:47:07 · 286 阅读 · 0 评论 -
Java设计模式之享元模式 附代码实现
享元模式: 用于减少创建对象的数量,以减少内存占用和提高性能。用唯一标识码判断,如果在内存中有,则返回这个唯一标识码所标识的对象。使用场景: 1、系统有大量相似对象。 2、需要缓冲池的场景。import java.util.HashMap;import java.util.Map;public class FlyweightPattern { private String ...原创 2020-04-25 14:40:50 · 174 阅读 · 0 评论 -
Java设计模式之原型模式 浅拷贝和深拷贝 附代码实现
原型模式用于创建重复的对象,同时能保证性能。类中的字段为8种原生数据类型 、包装类型、String、BigInteger,通过实现Cloneable接口并且覆盖Object.clone方法来复制当前对象的克隆,利用jvm的克隆机制完成对象的拷贝,这种方式即是浅拷贝。如果是自定义数据类型或其他可变的类型(Date...),这些类型都要实现Cloneable接口并且覆盖Object.clone...原创 2020-04-25 14:27:52 · 185 阅读 · 0 评论 -
Java设计模式之建造者模式 附代码实现
建造者模式一个复杂的构建与其表示相分离对象内部属性本身相互依赖与不可变对象配合使用方式一public class BuilderTest { public static void main(String[] args) { UserBuilder userBuilder = new DefaultUserBuilder(); D...原创 2020-04-22 23:12:28 · 264 阅读 · 0 评论 -
Java设计模式之抽象工厂模式 附代码实现
public class AbstractFactoryTest { public static void main(String[] args) { AltoFactory altoFactory = new AltoFactory(); altoFactory.getCarType().carType(); altoFactory.ge...原创 2020-04-22 00:20:30 · 269 阅读 · 0 评论 -
Java设计模式之工厂模式 附代码实现
工厂模式定义一个创建对象的接口,让子类决定实例化哪一个工厂类。主要解决接口选择的问题。/** * created by: cenjianteng * 2020/4/20 22:27 */public class CarFactoryTest { public static void main(String[] args) { //简单的工厂例子 ...原创 2020-04-21 23:33:23 · 188 阅读 · 0 评论 -
Java设计模式之单例模式,单例模式的序列化与反序列化 附代码实现
什么是单例模式?保证一个类在内存中只存在一个对象,并且只提供一个对外访问对象的方式。单例模式的几种实现方式1、懒汉模式Lazy 初始化:是程安全:是public class Singleton { private static Singleton instance; private Singleton (){} public stat...原创 2020-04-20 22:01:32 · 250 阅读 · 0 评论