
设计模式
yangyanjava
这个作者很懒,什么都没留下…
展开
-
设计模式--适配器模式
将一个类的接口转成另一种接口,使原本不兼容的类可以兼容 source (220v)-- adapter — dst(5V) 类适配 adapter类,继承source,实现dst,实现src-dst public class Phone { void charging(IVolt5V volt5V) { if(volt5V.Output5v() == 5){ System.out.println("charging--------"); }el原创 2020-06-16 20:47:17 · 112 阅读 · 0 评论 -
设计模式--建造者模式
盖房子: 盖房子:地基,墙,顶 房子类型:别墅,高楼 建造者角色: Product:具体的产品对象 Builder:建造流程 接口/抽象类 ConcreteBuilder:具体的建造者,实现类 Director:指挥者 Product:具体的产品对象 public class House { private String base; private String wall; private String roof; } Builder:建造流程 接口/抽象类 publi原创 2020-06-16 19:50:07 · 95 阅读 · 0 评论 -
设计模式--原型模式(2)--深拷贝&浅拷贝
设计模式–原型模式(1) https://blog.csdn.net/yangyanjava/article/details/106790859 浅克隆 1:直接调用clone方式 public class Sheep implements Cloneable { String name; Sheep friends; Sheep(String name) { this.name = name; } @Override protected原创 2020-06-16 18:59:11 · 150 阅读 · 0 评论 -
设计模式--原型模式(1)
事例:克隆羊问题 现有一只羊叫tom,请创建和tom属性完全相同的十只羊 传统方式 定义 Sheep public class Sheep { String name; Sheep(String name) { this.name = name; } @Override public String toString() { return "Sheep{" + "name='" + name + '\'原创 2020-06-16 18:33:51 · 141 阅读 · 0 评论 -
设计模式--工厂模式(2)
设计模式–工厂模式(1) https://blog.csdn.net/yangyanjava/article/details/106785404 简单工厂模式在JDK中的应用 1:Calendar为例 通过静态方法获取Calendar 内部通过调用createCalendar返回Calendar 内部会根据Locale aLocale等参数数据的不同,创建不同的Calendar ...原创 2020-06-16 16:22:49 · 88 阅读 · 0 评论 -
设计模式--工厂模式
一、简单工厂模式 购买披萨的例子 1:不同披萨的从准备到打包出售的流程一致,只是准备阶段的材料不同,可把流程放到抽象类中,然后不同的pizza重写基类的prepare方法 public abstract class Pizza { protected String name; public void prepare() { System.out.println("prepare--" + name); } public void bake() {原创 2020-06-16 16:06:21 · 122 阅读 · 0 评论 -
设计模式--单例模式
标题单例模式 好处:保证系统中只有该类的一个实例,防止频繁创建销毁对象。 1:饿汉式:直接在全局进行创建 class Singleton_1 { private Singleton_1() { } // 在装载的时候就进行了类加载,会造成内存浪费 private static Singleton_1 singleton_1 = new Singleton_1(); public static Singleton_1 getInstance() {原创 2020-06-16 11:26:47 · 116 阅读 · 0 评论