设计模式
文章平均质量分 55
Cedar_Guo
stand as a cedar
展开
-
JAVA设计模式(六)代理模式
概述 代理模式:首先要有接口,代理类和被代理类都实现相同的接口,最终代理的是被代理类的方法。 代理模式是Java开发中使用较多的一种设计模式。 代理设计就是为对象提供一种代理以控制对这个对象的访问。任何对原始对象的调用都要通过代理,代理对象决定是否以及何时将方法调用转到原始对象上,也即代理类方法是对被代理类方法的封装。 静态代理 静态定义代理类:代理类和被代理类在编译期间就能够确定。 局限性:不利于程序的扩展,每一个代理类只能为一个接口服务,这样一来程序开发中必然产生过多的代理。 最好可以通过一个代理类完成原创 2022-03-01 03:04:43 · 273 阅读 · 0 评论 -
JAVA设计模式(五)工厂模式
文章目录一 概述二 简单工厂三 工厂方法四 抽象工厂五 反射+配置文件优化简单工厂 一 概述 工厂模式: 实现了创建者与调用者的分离,即将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 其实设计模式和面向对象设计原则都是为了使得开发项目更加容易扩展和维护,解决方式就是一个“分工”。 遵循开闭原则、迪米特原则和依赖倒转原则。 根据迪米特法则,工厂类可以看做一个中介。 核心本质:实例化对象时,用工厂方法代替 new 操作。 工厂模式的分类: 简单工厂模式:用来生产同一等级结构中的任意产品。(对于增加新的原创 2022-03-01 02:23:40 · 219 阅读 · 0 评论 -
JAVA设计模式(四)模板方法
模板方法:TemplateMethod 解决的问题: 当功能内部一部分实现是确定的,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。 换句话说,在软件开发中实现一个算法时,整体步骤很固定、通用,已经在父类中写好了,但是某些部分易变,易变部分可以抽象出来,供不同子类实现。这就是一种模板模式。 抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造。 模板类(抽象类)一般包括:模板方法(定义整体逻辑,把基本操作组合到一起,定义成final,不允许被重写)、具体方法、抽象方法(也叫做原创 2022-03-01 00:21:22 · 213 阅读 · 0 评论 -
JAVA设计模式(三)单例模式
所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。 饿汉式:线程安全,无论是否被使用,类加载时就会创建对象,消耗资源。 1.私有化构造器 2.内部提供一个当前类的实例,并显示初始化 3.提供公共的静态的方法,返回当前类的对象 class Singleton { // 1.私有化构造器 private Singleton() { } // 2.内部提供一个当前类的实例,并显示初始化 // 4.此实例也必须静态化 priva原创 2022-03-01 00:07:38 · 203 阅读 · 0 评论 -
JAVA设计模式(一)设计原则(待补充)
OCP(开闭原则,Open-Closed Principle) - 设计模式的第一大原则,它的潜台词是:控制需求变动风险,缩小维护成本。 一个软件的实体应当对扩展开放,对修改关闭。说到底,开闭原则除了表面上的可扩展性强以外,在企业中更看重的是维护成本。当我们写完的代码,不能因为需求变化就修改。我们可以通过新增代码的方式来解决变化的需求。 DIP(依赖倒转原则,Dependence Inversion Principle) - 依赖倒置的潜台词是:面向抽象编程,解耦调用和被调用者。 要针对接口编程,不要针对实原创 2022-02-28 21:45:53 · 64 阅读 · 0 评论