
设计模式
Martiny66
这个作者很懒,什么都没留下…
展开
-
设计原则-基于接口而非实现编程
基于接口而非实现编程是一种非常有效地提高代码质量的手段,在平时的开发中会经常被用到。这里面的接口可以理解为编程语言中的接口或者抽象类。应用这条原则可以将接口和实现相分离,封装不稳定的实现,暴露稳定的接口。上游系统面向接口而非实现编程,不依赖不稳定的实现细节,这样当实现发生变化的时候,上游系统的代码基本上不需要做改动,以此来降低耦合性,提高扩展性。1.实战应用假设我们的系统中有很多涉及图片处理和存储的业务逻辑,图片经过处理之后被上传到阿里云上。为此我们统一提供了AliyunImageStore类,供整原创 2020-12-04 11:17:21 · 345 阅读 · 0 评论 -
面向对象与面向过程
1.什么是面向对象编程和面向对象编程语言?面向对象编程的英文缩写为OOP,面向对象编程语言的英文缩写为OOPL。这两个概念可以用下面两句话来概括:面向对象编程是一种编程范式或编程风格。它以类或对象为组织代码的基本单元,并将封装、抽象、继承、多态四个特性,作为代码设计和实现的基石。 面向对象编程语言是支持类或对象的语法机制,能方便地实现面向对象编程四大特性(抽象、封装、继承、多态)的编程语言。一般来讲,面向对象编程都是通过使用面向对象编程语言来实现的,但是,不使用面向对象编程语言,我们照样可以进行原创 2020-12-03 16:26:01 · 765 阅读 · 2 评论 -
代理模式
目录1.游戏代练2.代理模式2.1 代理模式的优点2.2 代理模式的扩展2.2.1 普通代理2.2.2 强制代理3.动态代理4.最佳实战1.游戏代练现在的游戏代练公司非常多,我们可以把自己的账号交给代练人员,由他们去帮我们升级打怪。我们来修改一下类图:实例代码如下:IGamePlayer接口:public interface IGamePl...原创 2019-10-13 17:11:59 · 127 阅读 · 0 评论 -
建造者模式
目录1.变化是永恒的2. 建造者模式的应用2.1 优点2.2 使用场景1.变化是永恒的在模板方法模式中,我们的模板方法是按照固定的顺序进行执行的。假如我们顺序是可以调整的,有些方法可能执行,有些方法可能不执行,又该如何设计呢?我们以制造汽车的过程为例,假如汽车形式分为启动、停止、鸣喇叭和引擎声等几个过程,而不同品牌的汽车,执行过程又不尽相同,此时我们可以在汽车模型类CarM...原创 2019-09-24 22:56:06 · 136 阅读 · 0 评论 -
模板方法模式
1.模板方法的定义模板方法模式是定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式的通用类图如图所示:AbstractClass叫做抽象模板,它的方法分为两类:基本方法:由子类实现的方法,并且在模板方法中被调用。 模板方法:可以有一个或几个,一般是一个具体方法,也就是一个框架,实现对基本方法的调度,...原创 2019-09-22 20:13:52 · 106 阅读 · 0 评论 -
工厂模式
目录1.工厂方法模式1.1女娲造人的故事1.2 工厂方法模式的应用1.2.1 优点1.3 工厂方法模式的扩展1.3.1 缩小为简单工厂模式1.3.2 升级为多个工厂类1.3.3 延迟初始化1.4 最佳实战2.抽象工厂模式2.1女娲的失误2.2 抽象工厂模式的应用2.2.1 优缺点2.2.2 使用场景1.工厂方法模式1.1女娲造人的故事...原创 2019-09-21 23:57:41 · 188 阅读 · 0 评论 -
单例模式
目录1.模板代码2.单例模式的应用2.1 单例模式的优点2.2 使用场景2.3 单例模式的注意事项2.4 单例模式的扩展2.5 最佳实战单例模式是一个比较常见的模式,其定义为确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。1.模板代码Singleton类称为单例类,通过使用private的构造函数确保了在一个应用中只产生一个实例,并且是自行...原创 2019-09-21 15:41:54 · 96 阅读 · 0 评论 -
设计模式6大设计原则
目录1.单一职责原则2.里氏替换原则2.1 子类必须完全实现父类的方法2.2 子类可以有自己的个性2.3 覆盖或实现父类的方法时输入参数可以被放大2.4 覆写或实现父类的方法时输出结果可以被缩小2.5 最佳实战3. 依赖倒置原则3.1 最佳实践4.接口隔离规则4.1 举例4.2 最佳实战5.迪米特法则6.开闭原则1.单一职责原则单一职...原创 2019-09-19 22:53:06 · 206 阅读 · 1 评论 -
单例模式的八种写法比较
单例模式是最常用到的设计模式之一,熟悉设计模式的朋友对单例模式都不会陌生。一般介绍单例模式的书籍都会提到 饿汉式 和 懒汉式 这两种实现方式。但是除了这两种方式,本文还会介绍其他几种实现单例的方式,让我们来一起看看吧。简介单例模式是一种常用的软件设计模式,其定义是单例对象的类只能允许一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在某个服务...转载 2018-10-24 11:45:26 · 104 阅读 · 0 评论 -
责任链模式与职责链模式
原文链接:Java设计模式之责任链模式、职责链模式什么是链1、链是一系列节点的集合。2.、链的各节点可灵活拆分再重组。职责链模式使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。角色抽象处理者角色(Handler):定义出一个处理请求的接口。如果需要,接口可以定义 出一个方法以设定和返回对下家的引用。这个...转载 2018-02-24 20:47:55 · 244 阅读 · 0 评论