设计模式
迎风追日
9 年软件开发经验,其中 3 年的项目开发负责人经验,擅长 java web 平台的开发,多年云计算、大数据领域面向教育、公安类 SaaS 应用开发背景;具有较强的业务分析能力,能够快速理解和分析复杂的业务逻辑;有较强的沟通协作能力,有异地开发经历;有较强的学习能力,且愿意尝试新技术。
展开
-
控制反转和依赖注入
1. 控制反转 实际上,控制反转是一个比较笼统的设计思想,并不是一种具体的实现方法,一般用来指导框架层面的设计。这里所说的“控制”指的是对程序执行流程的控制,而“反转”指的是在没有使用框架之前,程序员自己控制整个程序的执行。在使用框架之后,整个程序的执行流程通过框架来控制。流程的控制权从程序员“反转”给了框架。 2. 依赖注入 依赖注入和控制反转恰恰相反,它是一种具体的编码技巧。我们不通过 ...原创 2020-02-14 03:37:08 · 199 阅读 · 0 评论 -
设计模式9-门面模式
定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行,门面模式提供一个高层次的接口,使得子系统更易于使用。类图:示意图:子系统示例代码:public class ClassA { public void doSomethingA(){ //业务逻辑 } }public class ClassB { public void doSomething...原创 2018-05-29 14:46:28 · 131 阅读 · 0 评论 -
设计模式8-适配器模式
定义:将一个类的接口变换成客户端所期待的另一个接口,从而使原本因接口不匹配而无法在一起工作的两个类可以在一起工作。Target目标角色:定义把其他类型转换为何种接口,也就是我们的期望接口。Adaptee源角色:已经存在的运行良好的类或对象。Adapter适配器角色:把源角色转换为目标角色。上图是类适配器:Adapter继承源角色实现目标角色接口就可以实现转换。对象适配器:Adapter关联多个源角...原创 2018-05-27 15:35:54 · 169 阅读 · 0 评论 -
设计模式7-观察者模式
定义:也叫发布订阅模型。观察者模式定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。观察者模式的优点:1、观察者和被观察者之间是抽象耦合2、建立一套触发机制缺点:开发效率和调试比较复杂,有多个观察者时要考虑使用异步的方式,否则一个观察者卡壳,会影响整体效率。使用中尽量避免一个观察者既是观察者又是被观察者的情况,导致逻辑复杂,可维护性极差。它和责...原创 2018-05-21 20:33:34 · 128 阅读 · 0 评论 -
设计模式6-单例模式
各种不同实现方式的单例:/** 枚举 */ enum SingletonSin { INSTANCE; } /** 饿汉 */ class Singleton1 { private Singleton1(){ System.out.println("Singleton is create"); } private static Singlet...原创 2018-05-13 16:03:26 · 172 阅读 · 0 评论 -
设计模式5-代理模式
一、定义:为其他对象提供一种代理以控制对这个对象的访问。二、通用类图:Subject抽象主题角色通用代码:public interface Subject { //定义一个方法 public void request(); }RealSubject具体主题角色通用代码:public class RealSubject implements Subject { //实现方法 ...原创 2018-05-04 15:13:58 · 171 阅读 · 0 评论 -
设计模式4-工厂模式总结
转自 http://blog.jobbole.com/109594/工厂模式实际上包含了3中设计模式,简单工厂,工厂和抽象工厂,关键点如下:一、三种工厂的实现是越来越复杂的,工厂模式的核心思想,就是解耦“需求”“工厂”和“产品”二、简单工厂通过构造时传入的标识来生产产品,不同产品都在同一个工厂中生产,这种判断会随着产品的增加而增加,给扩展和维护带来麻烦三、工厂模式中,一个工厂生产一个产品,所有产品...转载 2018-05-04 14:33:53 · 120 阅读 · 0 评论 -
设计模式3-抽象工厂模式
定义:抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。通用类图:通用源码类图:抽象产品A类:public abstract class A...原创 2018-05-03 17:51:37 · 122 阅读 · 0 评论 -
设计模式2-工厂方法模式
工厂方法模式:定义:定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。类图:抽象产品类Product负责定义产品的共性,实现对事物最抽象的定义。Creator为抽象创建类,也就是抽象工厂,具体如何创建产品类是由具体的实现工厂ConcreteCreator完成的。通用代码:抽象产品类:public abstract class Product { //...原创 2018-05-03 16:37:30 · 170 阅读 · 0 评论 -
设计模式1-原则
1、单一职责原则 SRP定义:应该有且仅有一个原因引起类的变更。其实单一职责原则不仅适用于接口和类,也适用于方法。2、里式替换原则 LSP定义:所有引用基类的地方必须能透明地使用其子类对象。在类中调用其他类时务必要使用父类或接口,否则就是违背了里式替换原则。反之,有子类出现的地方未必可以替换为父类。注意:如果子类不能完整地实现父类的方法,或者父类的某些方法在子类中已经发生“畸变”,则建议断开父子继...原创 2018-05-03 11:42:16 · 156 阅读 · 0 评论 -
【设计模式】设计模式六大原则
单一职责原则(Single Responsibility Principle) 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责转载 2016-10-30 09:05:32 · 201 阅读 · 0 评论