设计模式
文章平均质量分 93
羽苡”
这个作者很懒,什么都没留下…
展开
-
【设计模式】之23种设计模式的基本原理及例子
设计模式1 设计模式六大原则1.1 单一职责原则1.2 开放-关闭原则1.3 依赖倒转原则1.4 里氏替换原则1.5 迪米特法则2 创建型2.1 工厂模式2.1.1简单工厂模式2.1.2 工厂方法模式2.1.3 抽象工厂模式2.2 原型模式2.3 建造者模式3 结构型3.1 代理模式3.2 外观模式3.3 适配器模式4 行为型4.1 策略模式4.2 装饰者模式4.3 模板方法模式4.4 观察者模式4.5 状态模式4.6 备忘录模式1 设计模式六大原则1.1 单一职责原则原理 在软件组件设计中,原创 2022-04-29 10:22:07 · 1692 阅读 · 0 评论 -
适配器设计模式
适配器设计模式 将一个类的接口转成客户期望的另外一个接口。适配器模式使得原本由于解耦不匹配二不能一起工作的那些类可以一起工作。实际例子:第一步:定义两种手机(安卓和苹果)public class Iphone6Plus { private LightningInterface lightningInterface; public Iphone6Plus() { } public Iphone6Plus(LightningInterface lightningI原创 2020-07-27 13:32:01 · 75 阅读 · 0 评论 -
【设计模式】之库快速理解观察者模式
观察者模式 其目的是用来定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。观察者塔式统通常被用来实现事件处理系统。 观察者模式不仅被广泛应用于软件界面元素之间的交互,在业务对象之间的交互、权限管理等方面也有广泛的应用。 在观察者模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。通常通过调用各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。 观察者模式完美的将观察者和被观察对象原创 2020-07-27 13:31:38 · 110 阅读 · 0 评论 -
构造设计模式
构造设计模式 当一个类的构造函数参数超过4个,而且这些参数有些参数有些是可选的参数,考虑使用构造者模式。 传统构造实例对象的方法可以是构造器实例化对象,还有一种是JavaBean模式。这两种各有弊端,第一种是使用和阅读不方便;第二种在构建过程种对象的状态容易发生变化,造成错误。为了解决这两个问题,构造者模式就派上用场了。实现方式:在Computer 中创建一个静态内部类 Builder,然后将Computer 中的参数都复制到Builder类中。在Computer中创建一个private的原创 2020-07-27 13:30:51 · 200 阅读 · 0 评论 -
工厂设计模式
工厂设计模式 通常情况下创建一个对象的实例是通过new操作符来完成的;但是在一些情况下直接new不能满足业务需求,比如需要通过计算来取得对象的初始值,或者选择哪个子对象实例;或在生成对象之前必须先生成一些辅助功能的对象。这时就可以用工厂模式来完成这些操作。**模式解决的问题:**主要是为创建对象提供过渡接口,可以轻松方便地构造对象实例,而不必关心构造对象实例的细节和复杂过程。工厂模式分三类:简单工厂模式建立一个工厂(一个函数或一个类方法)来制造新对象;用户可以通过一些条件输入来指导创建对象。原创 2020-07-27 13:30:20 · 78 阅读 · 0 评论 -
动态代理
动态代理动态代理模式的基本介绍代理对象,不需要实现接口,但是目标对象要实现接口,否则不能用动态代理代理对象的生成,示例用JDK的API,动态的在内存中构建代理对象创建真实对象代理类的接口public interface ITeacherDao { void teach();}创建真实对象的实现类public class TeacherDao implements ITeacherDao { @Override public void teach() {原创 2020-07-27 13:29:47 · 85 阅读 · 0 评论 -
单例设计模式
单例模式 一个应用程序中,某个类的实例对象只有一个,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。你没有办法去new,因为构造器是被private修饰的,一般通过getInstance()的方法来获取他们的实例。getInstance()的返回是一个对象的引用,并不是一个新的实例,所以不要错误的理解成多个对象。单例模式有以下特点: 单例类自己创建并且只能创建一个实例,并且必须给所有其他对象提供这个实例需要:原创 2020-07-27 13:29:14 · 64 阅读 · 0 评论