设计模式
详解Java的22种设计模式,稍等,为啥是22种,不是23种吗?解释器模式过于晦涩难懂,就不介绍了。
〆竹墨残香 烟花冷ゾ
Java初级开发工程师
展开
-
单例模式
单例模式1. 设计模式2. 单例模式2.1 饿汉模式2.1.1 静态常量2.1.2 饿汉模式(静态代码块)2.2 懒汉模式2.2.1 懒汉模式(线程不安全)2.2.2 懒汉模式(线程安全,同步方法)2.3 双检索2.4 静态内部类2.5 枚举2.6 总结1. 设计模式设计模式分类:(23种)创建型模式:单例模式、工厂模式、抽象工厂模式、原型模式、建造者模式 (5种)结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式(7种)行为型模式:模板方法模式、命令模式、访问原创 2020-07-21 22:14:16 · 97 阅读 · 0 评论 -
统一建模语言UML
统一建模语言1.UML1.1. 依赖关系1.2 泛化关系1.3 实现关系1.4 关联关系1.5 聚合关系1.6 组合关系2. 总结1.UMLUML(统一建模语言)UML提供了多种图,包括:类图、用例图、活动图、状态图等其中,类图最核心类图描述类和类之间关系的图类和类之间的关系:依赖、泛化(继承)、实现、关联、组合、聚合符号标志依赖:(虚线 ----->)关联: (实线 )泛化: (实线+三角)实现: (虚线+三角)组合: (实心菱形)聚合: (空心菱形)1.1. 依原创 2020-07-20 20:13:18 · 121 阅读 · 0 评论 -
合成复用原则
合成复用1. 合成复用1.1 案例1.2 总结1. 合成复用尽量使用组合聚合,而不是继承1.1 案例如果我们想让类B使用类A中的方法,B继承A: 强耦合,不推荐B依赖A: 低耦合,推荐B聚合A: 低耦合,推荐B组合A: 低耦合,推荐1.2 总结面向抽象编程尽量降低耦合...原创 2020-07-18 09:53:04 · 152 阅读 · 0 评论 -
迪米特法则
迪米特法则1. 迪米特法则1.1 案例1.2 总结1. 迪米特法则迪米特法则(Demeter Principle):一个对象应该对其他对象保持最少的了解类与类关系越密切,耦合度越大迪米特法则又叫最少知道原则迪米特法则还有个更简单的定义:只与直接朋友通信直接朋友:每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多,依赖,关联,组合,聚合等。其中,我们称出现成员变量,方法参数,方法返回值中的类为直接的朋友,而出现在局部变量中的类不是直接原创 2020-07-18 09:49:49 · 205 阅读 · 0 评论 -
开闭原则
开闭原则1. 开闭原则1.1 案例1.2 总结1. 开闭原则开闭原则(Open Close Principle):开闭原则是编程中最基础、最重要的设计原则一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化。面向接口编程1.1 案例代码public class OpenClosePrinceOne { public stati原创 2020-07-18 09:47:04 · 121 阅读 · 1 评论 -
里氏替换原则
里氏替换原则1.里氏替换原则1.2 案例1.3 总结1.里氏替换原则里氏替换原则(Liskov Substitution Principle)继承虽然允许子类重写继承来的方法,但是如果子类随意修改继承的方法,就会对整个继承体系造成破坏。继承在给程序设计带来便利的同时,也带来了弊端。比如一个类被其他的类所继承,当这个类需要修改时,必须考虑到所有的子类,并且父类修改后,所有涉及到子类的功能都有可能产生故障里氏替换原则(如何正确使用继承)1.2 案例代码 public class Lisk原创 2020-07-18 09:43:58 · 225 阅读 · 0 评论 -
依赖倒置原则
依赖倒置原则1. 依赖倒置原则1.1 简述1.2 案例1.3 总结1. 依赖倒置原则1.1 简述依赖倒置原则(Dependence Inversion Principle)高层模块不应该依赖低层模块,二者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象依赖倒转(倒置)的中心思想是面向接口编程 依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。在java中,抽象指的是接口或抽象类,细节就是具体的实现类使用原创 2020-07-18 09:39:33 · 167 阅读 · 0 评论 -
接口隔离原则
目录1. 接口隔离原则1.1 案例1.1.1 改进方案:1.2 总结1. 接口隔离原则接口隔离原则(Interface Segregation Principle)1.1 案例类图:代码public class InterfaceSegregationPrincipleOne { public static void main(String[] args) { A a = new A(); B b = new B(); .原创 2020-07-18 09:27:28 · 264 阅读 · 0 评论 -
单一职责原则
降低类的复杂度,一个类只负责一项职责。 提高类的可读性,可维护性 降低职责变更引起的风险 通常情况下,我们应当遵守单一职责原则;只有逻辑足够简单,且类中方法数量足够少时,我们才可以下沉职责在代码级违反单一职责原则,在方法级别保持单一职责原则。原创 2020-07-18 09:18:00 · 81 阅读 · 0 评论