设计模式
文章平均质量分 61
akiaug
这个作者很懒,什么都没留下…
展开
-
【设计模式】设计模式(目录)
一、软件开发的流程(按先后顺序)需求分析文档、概要设计文档、详细设计文档、编码和测试、安装和调试、维护和升级二、常用的设计原则1 常用的设计原则开闭原则(Open Close Principle)对扩展开放对修改关闭,为了使程序的扩展性好,易于维护和升级。里氏代换原则(Liskov Substitution Principle)任何基类可以出现的地方,子类一定可以出现,多使用多态的方式。依赖倒转原则(Dependence Inversion Principle)尽量多依赖于抽象类或接原创 2021-01-25 09:55:01 · 192 阅读 · 0 评论 -
【设计模式】模板方法模式
模板方法模式1、基本概念模板方法模式主要指一个抽象类中封装了一个固定流程,流程中的具体步骤可以由不同子类进行不同的实现,通过抽象类让固定的流程产生不同的结果。2、类图结构public abstract class AbstractCalculator { //自定义成员方法实现将参教指定的表达式按照参数指定的规则进行切制并返回计算结果1+1 public int splitExpression(String exp,String op){ String[] sArr原创 2021-01-27 14:56:12 · 145 阅读 · 0 评论 -
【设计模式】代理模式
代理模式1、基本概念代理模式就是找一个代理类替原对象进行一些操作。比如我们在租房子的时候找中介,再如我们打官司需要请律师,中介和律师在这里就是我们的代理。2、类图结构参考装饰模式(直接发改进后的)public class Proxy implements Sourceable { private Source source; public Proxy() { this.source = new Source(); } @Override原创 2021-01-27 10:48:14 · 198 阅读 · 0 评论 -
【设计模式】装饰器模式
装饰器模式1、基本概念装饰器模式就是给一个对象动态的增加一些新功能,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。没有使用装饰类前public interface Sourceable { //自定义抽象方法 void method();}public class Source implements Sourceable{ @Override public void method() { System.out.print原创 2021-01-27 10:31:16 · 176 阅读 · 0 评论 -
【设计模式】工厂模式
一、普通工厂模式(1)基本概念普通工厂方法模式就是建立一个工厂类,对实现了同一接口的不同实现类进行实例的创建。(2)类图结构UML图实现代码:Sender 接口package designmode.factory;/** * @author: gk * @date: 2021年01月25日 16:44 * @version: 1.0 */public interface Sender { /** * 自定义抽象方法来描述发送的行为 */ voi原创 2021-01-25 17:00:04 · 220 阅读 · 0 评论 -
【设计模式】UML图讲解
UML类图推荐工具:https://www.processon.com/i/5683d44fe4b04beb5ea69870推荐书籍: 《大话设计模式》(可自学,也可当作教材书使用)一、类图的表示类的 UML 表示是一个长方形,垂直地分为三个区,如下图所示:顶部区域显示类的名字。中间的区域列出类的属性。底部的区域列出类的操作。在一个类图上画一个类元素时,你必须要有顶端的区域,下面的二个区域是可选择的(当图描述仅仅用于显示分类器间关系的高层细节时,下面的两个区域是不必要的)类名:如果是原创 2021-01-25 15:59:08 · 282 阅读 · 0 评论 -
【设计模式】单例设计模式
单例设计模式单例设计模式主要分为:饿汉式 和 懒汉式,懒汉式需要对多线程进行同步处理。单例饿汉式设计模式/** * 单例懒汉式设计模式 * @author: gk * @date: 2021年01月25日 11:40 * @version: 1.0 */public class Singleton { //2.声明本类类型的引用指向本类类型的对象并使用private static关键字修饰 private static Singleton sin = null;原创 2021-01-25 11:53:51 · 154 阅读 · 0 评论 -
【设计模式】合成复用原则
合成复用原则(Composite Reuse Principle)尽量多使用合成/聚合的方式,而不是继承的方式。public class A { public void show() { System.out.println("这是A类中的show方法!"); }}B类调用A类的方法(继承) 不推荐public class B extends A { public B() { } public void test() {原创 2021-01-25 11:27:52 · 117 阅读 · 0 评论 -
【设计模式】开闭原则
开闭原则(Open Close Principle)对扩展开放对修改关闭,为了使程序的扩展性好,易于维护和升级。package test01;/** * @author: gk * @date: 2021年01月25日 9:56 * @version: 1.0 */public class Person { private String name; public Person() { } public Person(String name) {原创 2021-01-25 10:09:24 · 159 阅读 · 0 评论