设计模式
文章平均质量分 69
基础不牢,地动山摇...
这个作者很懒,什么都没留下…
展开
-
设计模式之单例模式
目录 定义 优点 缺点 应用场景 结构图 实现 懒汉式 饿汉式 定义 指一个类只有一个实例,且该类能自行创建这个实例的一种模式。例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理器窗口而造成内存资源的浪费,或出现各个窗口显示内容的不一致等错误。 优点 单例模式可以保证内存里只有一个实例,减少了内存的开销。 可以避免对资源的多重占用。 单例模式设置全局访问点,可以优化和共享资源的访问。 缺点 单例模式一般没有接口,扩展困难。如果要扩展...原创 2021-07-18 17:20:14 · 100 阅读 · 2 评论 -
设计模式之观察者模式
设计模式之观察者模式原创 2020-12-02 08:07:13 · 109 阅读 · 0 评论 -
设计模式之抽象工厂模式
目录 概念 UML分析 结构与实现 总结 概念 抽象工厂模式是工厂方法模式的升级版,当需要创建的产品有多个产品线(产品族)时使用抽象工厂模式是比较好的选择。 即:是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。 UML分析 结构与实现 这里我们定义两个产品线,产品线一生产数据库连接驱动,产品线儿生产数据库命令驱动 //产品线一 生成连接 interface IConnection{ vo.原创 2020-11-23 22:50:59 · 88 阅读 · 0 评论 -
设计模式之工厂方法模式
工厂方法模式 和简单工厂模式相比,工厂方式模式将生产产品的任务交给具体的工厂,本身只规定操作规范,其他具体工厂按照操作规范生产对应产品。 具体步骤 定义抽象工厂接口 public interface AbstractFactory { Phone makePhone(); } 实现抽象工厂接口 public class IphoneFactory implements AbstractFactory { @Override public Phone makePhone原创 2020-11-23 21:11:57 · 53 阅读 · 0 评论 -
软件设计模式概述及原则
目录 软件设计模式的概念 软件设计原则 开闭原则 里氏替换原则 依赖倒转原则 单一职责原则 接口隔离原则 迪米特法则 合成复用原则 软件设计模式的概念 软件设计模式又称设计模式,它描述了在软件设计过程中一些不断重复发生的问题,以及该问题的解决方案,它是解决特定问题的一系列套路,是前人的代码设计经验的总结,同时具有普遍性,可以被反复使用,可以有效的提高代码的可重用性,代码的可读性和代码的可靠性。 软件设计原则 在软件的开发中,为了提高软件系统的可维护性和可复用性,程序员要尽量根.原创 2020-11-17 00:11:54 · 369 阅读 · 0 评论 -
设计模式之模板模式
目录 简介 创建过程 定义抽象类 实现抽象类1 实现抽象类2 总结 公司的主营业务中涉及不同渠道进来的客源,针对每一种来源都写一遍业务会造成代码逻辑的不清晰,并且后续维护困难,针对这种情况,主管提出代码需要重构,耦合的情况下(不同渠道进来客源可能会执行某些相同操作)还要分清各个渠道来源,方便后续维护,这里就用到了我们熟悉的模板设计模式。 简介 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定原创 2020-06-27 22:57:16 · 121 阅读 · 0 评论 -
设计模式之简单工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。 根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。 简单工厂模式 简单工厂模式方式最为简单,仅仅对不同类型对象进行了一层封装。 具体步骤为 定义接口 public interf原创 2020-11-23 20:40:26 · 52 阅读 · 0 评论 -
设计模式之策略模式
策略模式 一个类的行为或其算法可以在运行时更改,策略模式把对象本身和运算规则区分开来,在多种算法相似的情况下,能够解决if...else所带来的复杂和难以维护的问题。 实现策略模式主要包括三部分 环境类Context:用来操作策略的上下文,即Conext持有策略。 抽象策略类(Strategy):策略的抽象接口,定义需要实现的方法。 具体的策略类(ConcreteStrategy):具体策略的实现。 具体步骤为 创建接口 public interface Strategy { ...原创 2020-06-27 20:00:33 · 100 阅读 · 0 评论