不喜勿喷!!!不喜勿喷!!!不喜勿喷!!!
模式实际很多都是使用的(接口)interface特性,即抽象和具体;工厂,命令都是利用抽象的特性;
模式主要是为了代码复用,减少代码耦合,减少硬编码;
Spring框架
1. 单例
2. 简单工厂模式:处理对象的创建(继承和多态共存)
其实用的基类,子类的继承和多态;然后加上一个工厂;一般的话都是界面直接调用子类,而现在插入一个工厂,界面跟工厂打交道拿到子类,工厂来处理这些父类,子类;
3. 工厂方法和抽象工厂:简单工厂就是一个工厂,工厂方法就是每个子类都有一个工厂;而抽象工厂是结合工厂方法使用的工厂的工厂;总的来说就是比简单模式多了工厂方法,
4. 代理模式(Proxy):不是很好理解。代理就是一个Java对象代表另一个Java对象来采取行动。
5. 命令模式(Command):其实就是点击事件的回调,匿名接口对象,直接处理某些逻辑的代码块。有点像block;指定某一个方法处理;具体方法的实现是自定义的,每个都不同;
6. 策略模式(Strategy):(继承和多态共存),其实也是接口,继承,多态的结合产物;如算书价格,原价,员工价,vip价,跳楼价等,就是不同的策略表现,其实就是不同的方法实现;
7. 门面模式(Facade):其实是一个整合:讲的是类封装里面封装的是什么东西;整理一个类所要承担的责任。如果没有相应的类,就要建立。如餐厅就餐;有三个部门,采购,厨房,送餐,把这
三个部门整合起来,就是餐厅。就是门面。餐厅提供给用户的就是就餐。如果没有餐厅这个类(角色),就创建他,不要让用户直接与采购,厨房,送餐打交道。
8. 桥接模式(Bridge):其实讲的就是组合。类对象的组合。2x4,3x6等的组合。如有{ 辣, 不辣 }, {牛肉面,猪肉面},就可以组合成:辣牛肉面,不辣牛肉面,辣猪肉面,不辣猪肉面;
9. 观察者模式(Observer):我们可以把观察者接口理解成事件监听接口,而被观察者对象也可当成事件源处理;其实就是被观察者保有观察者的引用,有变动时就调用一下观察者对象的某个
而已。当然具体是调用什么方法,观察者和被观察者要沟通好。