设计模式的笔记总结

单例模式:

定义:确保一个类的实例只有一个,
分为:懒汉式和饿汉式;
区别:一个是在类加载的时候就直接实例化了,而另一个则是第一次调用他的一个公有的、静态的、同步的方法才能得到实例化,
如果要经常要用到该对象的话则用饿汉式,如果可用可不用的话就用懒汉式。
特征:声明一个私有的静态的类字段,
二是私有化构造器,
三是申明一个公有的静态的方法。
四是属于懒汉式的 判断私有化的类变量是否为空,如果为空的话才去生成该对象。
五是对外只提供一个唯一的访问函数;


工厂模式 Factory
针对接口编程,不用去依赖实现类;它隐藏了new的关键字,对其统一实例化。通过去调用工厂的静态方法才得到该对象,这样的话不用每次都去new操作,程序的业务逻辑 也就不会混乱,统一由工厂创建,就比清晰。还有就是它的扩展性很强。
解决问题:用来解决一个一个类的生成方式过多,容易发生变动,或者是父类和子类之间容易替换的地方。
例子:你买东西,你只要自己和售货员说买什么,不用管他到底是哪里生产的吧。



模版模式:
模版模式主要是父类指定流程,子类去实现。
解决问题:解决子类之间代码或者是流程的重复问题。
例子:就拿我们的课程表来说吧,每天都会按照一个课程表去上课,这个课程表就相当于父类定义的一个流程,然后只要老师安装这个课程表给我们上课就行了。OK`````````


门面模式(外观模式) Facade
门面模式为整个子系统提供一种高层次的简单接口,以便减少复杂度和依赖性,使得子系统的使用简单并且更容易管理。

解决问题:子接口繁多,调用复杂,内部交互地方比较多。
例:去一个商场买东西的时候,你需要买什么,只需要他给你导购的人就行了,你买东西就方便多了.


策略模式 Strategy
定义一系列的算法,然后把这些算法一个个封装起来,并且可以使他们相互交换
解决问题:某个具体的解决方法有很多种可选择的实现。
有国道、还有小道都可以去深圳,要速度快点就上高速公路吧


观察模式 Observer
对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
解决问题:解决多个对象间相互依赖关系的相互通知


一个群,有几个好友,当你发送出消息,他们都有得到通知。
适配器:Adapter

定义:将一个接口转换成客户希望的接口,使得原本两个不兼容的接口能够在一起工作。


例子:
在现实生活中,像这种适配器我们经常见到,而且还是经常使用它,如:手机在充电的时候,不可能直接在220V电源上直接充电,而是手机“充电器”进行转换成手机需要的电压才可以正常充电,否则就不可以完成充电,这个“充电器”就起到了适配的作用。



装饰器模式(油漆工模式):Decorator
定义:在不改变原来的代码情况下,动态地给一个对象添加一些新功能,Decorator模式相比生成子类更为灵活。
解决问题:一个对象需要经常动态增加属性或指责。
例子:就拿装修房子吧,首先它会用石灰去粉刷墙壁,然后你需要搞的好看点的话会去贴上一
些壁纸,你要再搞的好看点的话,就再去给它加上几个盏浪漫点的壁灯!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值