设计模式:笔记

策略模式 Strategy

1.定义

策略模式(Strategy):它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的用户

2.UML

单一职责原则,就一个类而言,应该仅有一个引起它变化的原因。

开放-封闭原则:是说软件实体(类,模块,函数等)应该可以扩展,但是不可修改 \
对于扩展是开放的,对于修改是封闭的

依赖倒转原则:\
1.高层模块不应该依赖低层模块,两个都应该依赖抽象\
2.抽象不应该依赖细节,细节应该依赖抽象\

里氏代换原则:子类型必须能够替换掉他们的父类型 如:鸟可以飞,企鹅属于鸟,但企鹅不会飞,所以企鹅不可以继承鸟类。

代理模式(proxy),为其他对象提供一种代理以控制对这个对象的访问\
代理模式应用:\
1.远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。\
2.虚拟代理,是根据需要创建开销很大的对象。通过他类存放实例化需要很长时间的真实对象。\
3.安全代理,用来控制真实对象访问时的权限。|\
4.智能指引,是指当调用真实的对象时,代理处理另外一些事。

工厂方法模式

工厂方法模式,定义了一个用于创建对象的借口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。\

简单工厂模式最大的优点在与工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖

工厂方法模式实现时,客户端需要决定实例化哪一个,工厂实现运算类,选择判断的问题还是存在,也就是说工厂方法把简单工厂的内部逻辑判断移到了客户端代码来进行,你想加功能,简单工厂是该工厂类,现在是修改客户端。

原型模式

原型模式(prototype) ,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象\
原型模式其实就是一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。

 如果字段是值类型的,则对该字段执行逐位复制,如果字段是引用类型,则复制引用但不复制引用的对象,因此,原型对象及其复本引用同一对象

抽象工厂模式

抽象工厂模式(abstract factory)提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类

适配器模式

适配器模式(Adapter) 将一个类的接口转换成客户希望的另外一个接口,adapter模式使得原来由于接口不兼容而不能在一起工作的那些类可以一起工作\
在双方都不太容易修改的时候再使用适配器模式适配。

组合模式

组合模式(Comprosite) 将对象组合成树形结构以表示‘部分-整体’的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值