设计模式
Gloomy_AAA
这个作者很懒,什么都没留下…
展开
-
设计模式008-适配器模式
适配器模式适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。我们通过下面的实例来演示适配器模式的使用。其中,音频播放器设备只能播放 mp3 文件,通过使用一个更高级的音频播放器来播放 vlc 和 mp4 文件。原创 2020-12-27 17:12:29 · 122 阅读 · 0 评论 -
设计模式007-外观模式(门面模式)
外观模式外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。package com.facadepattern;public class FacadeTest { public static void main(String[] args) {原创 2020-12-27 15:31:45 · 85 阅读 · 0 评论 -
设计模式006-享元模式
享元模式享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。我们将通过创建 5 个对象来画出 20 个分布于不同位置的圆来演示这种模式。由于只有 5 种可用的颜色,所以 color 属性被用来检查现有的Circle对象。应用:String,Integer,Longcom.sun.or..原创 2020-12-27 14:42:03 · 95 阅读 · 0 评论 -
设计模式005-原型模式
手动设置对象属性深度拷贝 序列化机制深度拷贝 package com.prototypepattern;import java.io.*;public class PrototypeTest implements Cloneable{ public static void main(String[] args) throws CloneNotSupportedException { Product productA = new Product("1","..原创 2020-12-27 13:59:44 · 145 阅读 · 1 评论 -
设计模式001-单例模式
1.模式定义2.字节码知识/字节码指令重排序3.类加载机制4.jvm序列化机制5.单例模式的应用1.懒汉模式:延迟加载,只有在真正使用的时候,才开始实例化1)线程安全问题2)double check 加锁优化3)编译器(JIT),CPU有可能对指令进行重排序,导致使用尚未初始化的实例,可以通过添加volatile关键字进行修饰,对于volatile修饰的字段,可以防止指令重排。package src.main.lazysingleton;public class LazySing原创 2020-12-13 10:04:59 · 100 阅读 · 0 评论 -
设计模式004-建造者模式
建造者模式package com.build;public class BuildTest { public static void main(String[] args) { DefualtConcreteProductBuild defualtConcreteProductBuild = new DefualtConcreteProductBuild(); Director director = new Director(defualtConcrete原创 2020-12-20 16:47:39 · 97 阅读 · 0 评论 -
设计模式003-抽象工厂模式
抽象工厂模式:提供一个创建一系列相关或互相依赖对象的接口,而无需指定他们具体的类。package com.abstractfactory;public class AbstractFactoryTest { public static void main(String[] args) { IDatabaseUtils databaseUtils = new OracleDatabaseUtils(); IConnection connection =原创 2020-12-20 14:47:12 · 51 阅读 · 0 评论 -
设计模式002-工厂方法模式
1)简单工厂模式(静态工厂方法):根据参数类型type创建不同类型的实例。package com.factorymethod;public class FactoryMethod { public static void main(String[] args) { Application application = new Application(); Product product = application.getObject("A1"); ...原创 2020-12-20 14:01:45 · 113 阅读 · 0 评论