目前从事java。正在深入学习和使用设计模式。现在就自己所了解的设计模式的作用做一个总结。
单例模式:
当一个对象需要在多个无关联的类中使用时,这种方式可以很方便的调用,但是有一个问题,容易造成内存泄露
工厂模式:
当需要构建大量类似的对象时使用一般工厂,当需要使用同源,但是不同类型对象时,使用抽象工厂
观察模式:
又叫订阅发布模式,用来做消息传递非常方便,谁用,谁订阅,并自行注销,对于一些监听事件来说,使用这个模式很方便。
代理模式 :
当某个对象的职责过多时,需要委托一个人来帮助他,使用代理不失为一个好的选择,代理类也可以同时代替多个对象去完成任务,可以方便对象的通信。
装饰者模式:
想要为某个对象添加一些功能和元素时,使用该模式对该对象进行一层包装,目前的理解,这种模式和代理有相同之处,具体场景具体处理。
建造者模式:
该模式用于动态设置多个参数时使用,常见的场景时链式调用,设置参数。
适配器模式:
使2个不同职责的类能够在一个场景下工作和调用,目前用的很少,场景如110v电饭煲在220v电压下工作。
策略模式:
针对不同的情况采取不同的策略,常用于多种条件下,采用不同的方法解决问题,缺点是会产生很多的类。
命令模式:
待续...
状态模式:
待续...
迭代器与组合模式:
待续...