目录
定义:
设计模式:按照开闭原则(扩展开放,修改关闭)的理解对常见的对象和类之间的关系的使用总结!
对开闭原则的code理解,假如你写了A.java B.java C.java,并且已经测试完毕而且上线,现在由于功能的变化需要修改和增加部分代码,如果你没有好的设计模式,应该是在A,B,C中进行修改,并且基本要全部测试,如果有良好的设计模式,我可能继承新增一个D.java 就可以实现,从这个角度来说,我的测试任务量少了,出现问题更加容易定位问题了,代码也更直观了!
好回到开始:我们说,设计模式是对一些对象和类按照开闭原则进行的实践,目标是修改关闭,扩展友好,原因上面已经说了。
限制:
那么对象或者类可以有哪些实践方法和关系呢?这个问题回归生活,从生活得出结论--即约束和限制,同时要以面型对象的思想去思考,现实生活中都是抽象为对象进行编程--如Java。
比如两个对象之间有限制:(我用到的时候才创建对象,通过其他对象创建,批量创建,只创建一个等)即创建限制,(必须先访问A再访问B,必须通过A访问B,必须顺序访问ABC等,)即访问限制,(对象A变化对象B才可以变化,不同的A的行为对应不同的对象,都必须有相同的对象ABC才可以进行之后操作等)即协作的限制。
这些不同的限制,按照官方的定义:可以分为创建型(5),结构型(7),和行为型(11种),对应的名字和定义在参考资料给出,同时因为个人没有更好的案例进行演示,所以就暂时用的是参考资料中各位博主的案例,结合本博客的文字部分进行理解,同时参考对应的代码,相信进入到基本使用是没有问题的,同时如果对应的案例,你也可以在微信公众号和博客园进行搜索,重点个人觉得是:理解对应的思想和现实中的使用场景.
即:解决了什么场景的什么问题限制,没有会怎么样!
参考资料:
23种设计模式,我竟然秒懂了!https://mp.weixin.qq.com/s/qetX2j0TnxXwC-PQfnReWw
Java3y的设计模式https://mp.weixin.qq.com/s/lryPmrVSf7Fc55g5SsKhig
Java知音的设计模式https://mp.weixin.qq.com/s/ok2KGsRO-Vc1NvvJj2oo8w
spring用的比较多的的代理模式以及动态代理模式,请参考之前文章:
spring的动态代理模式https://blog.csdn.net/liudaka/article/details/117934827