经常使用设计模式理解


不喜勿喷!!!不喜勿喷!!!不喜勿喷!!!框架


模式实际不少都是使用的(接口)interface特性,即抽象和具体;工厂,命令都是利用抽象的特性;编码

模式主要是为了代码复用,减小代码耦合,减小硬编码;代理

Spring框架server

1. 单例对象

2. 简单工厂模式:处理对象的建立(继承和多态共存)继承

其实用的基类,子类的继承和多态;而后加上一个工厂;通常的话都是界面直接调用子类,而如今插入一个工厂,界面跟工厂打交道拿到子类,工厂来处理这些父类,子类;接口

3. 工厂方法和抽象工厂:简单工厂就是一个工厂,工厂方法就是每一个子类都有一个工厂;而抽象工厂是结合工厂方法使用的工厂的工厂;总的来讲就是比简单模式多了工厂方法,事件

4. 代理模式(Proxy):不是很好理解。代理就是一个Java对象表明另外一个Java对象来采起行动。ip

5. 命令模式(Command):其实就是点击事件的回调,匿名接口对象,直接处理某些逻辑的代码块。有点像block;指定某一个方法处理;具体方法的实现是自定义的,每一个都不一样;事件监听

6. 策略模式(Strategy):(继承和多态共存),其实也是接口,继承,多态的结合产物;如算书价格,原价,员工价,vip价,跳楼价等,就是不一样的策略表现,其实就是不一样的方法实现;

7. 门面模式(Facade):实际上是一个整合:讲的是类封装里面封装的是什么东西;整理一个类所要承担的责任。若是没有相应的类,就要创建。如餐厅就餐;有三个部门,采购,厨房,送餐,把这

三个部门整合起来,就是餐厅。就是门面。餐厅提供给用户的就是就餐。若是没有餐厅这个类(角色),就建立他,不要让用户直接与采购,厨房,送餐打交道。

8. 桥接模式(Bridge):其实讲的就是组合。类对象的组合。2x4,3x6等的组合。若有{ 辣, 不辣 }, {牛肉面,猪肉面},就能够组合成:辣牛肉面,不辣牛肉面,辣猪肉面,不辣猪肉面;

9. 观察者模式(Observer):咱们能够把观察者接口理解成事件监听接口,而被观察者对象也可当成事件源处理;其实就是被观察者保有观察者的引用,有变更时就调用一下观察者对象的某个

而已。固然具体是调用什么方法,观察者和被观察者要沟通好。

相关文章
相关标签/搜索