![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
文章平均质量分 60
常用的23中设计模式使用介绍
躺平的乐子人
少说话,多做事
展开
-
设计模式篇之责任链模式
回想一下,我们平时工作的审批流程,我们的审批流程总是一条链条从头到尾进行的,我们的申请总是每次经过每一个审批人员处理后,才能进行下一个流程,这样构成的环装的结构,其实就是责任链模式的体现。即责任链模式强调的是,每个人完成自己的任务,它并不关心整条链条的生态,而是每个人只要知道自己前后的人是谁,同时做好自己的事情就好了,这样的模式,单个节点的增删都不会影响到整个系统的变换,系统的维护和修改成本变得最小了,而且也更灵活了、原创 2023-05-31 21:38:10 · 51 阅读 · 0 评论 -
设计模式篇之适配器模式
适配器模式是一种实现接口桥接方法的结构型设计模式原创 2023-03-22 21:56:54 · 60 阅读 · 0 评论 -
设计模式篇之原型模式
但如果我们这么做,为我们需要对外提供复制的对象提供整个对象直接复制的方法,需要复制就可以请求该方法,返回一个对象,问题不就迎刃而解了吗。另外一面,直接返回对象,可以避免对象之间过多的耦合,便于维护。在平常我们要复制一个对象会怎么做,直接赋值肯定不行,这只是将相同的对象的地址赋值给它,要真正拷贝一份副本只能老老实实地遍历对象属性,而且无法直接复制对象的私有属性,除非对象开放了数据接口,到了这一步就走到了死胡同。如果拷贝的对象中存在对象的循环引用,实现较为麻烦。直接拷贝对象,避免与对象所属类的耦合。原创 2023-03-20 20:20:25 · 46 阅读 · 0 评论 -
设计模式篇之单例模式
在面向对象世界里,一切的行为都是通过对象实现,但是频繁创建销毁对象是非常耗时的,而且部分场景下是不允许的,设想一下,假如我们为每一次连接都创建一个数据库连接对象,数据库的仅仅是为了保持这些连接信息都会爆炸了,但实话实说,我们有必要保持那么多信息吗,比如数据库连接对象,我们并不需要太多的重复,我们只需要一个基本的数据库认证信息,我们把这些信息直接作为公有的部分,这跳出对象的层次,让需要的人都可以拿到一份,而无需重复创建,这样不就可以规避了重复创建对象的问题了吗。不支持接口和继承,与设计模式的单一原则相冲突。原创 2023-03-19 15:15:58 · 37 阅读 · 0 评论 -
设计模式篇之工厂模式
面向对象的世界的我们通过操作对象来实现我们的需求,但类有很多,对象更多,方法更是多变的,如果无法让系统的拓展性变得更好,那么维护系统成本将变得非常昂贵。为了降低系统维护的成本,实现系统更好拓展性,使用接口继承是我们最常用的做法,而这种做法就用到了工厂模式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。由于没有指定特定对象,新增的类只需要实现接口,即可以实现系统功能的拓展,因此工厂模式被广泛使用。原创 2023-03-16 23:13:41 · 57 阅读 · 0 评论 -
设计模式篇之抽象工厂模式
我们之前学过工厂模式,现在又来了一个抽象工厂模式,我们可以会觉得有些迷糊,抽象工厂是什么,和工厂模式又有什么区别呢?抽象工厂更像一个超级工厂,让每一个对象成为工厂的工人为这个工厂勤勤勉勉的工作,它的优点多,比如更好的系统拓展性(符合OCP原则),更高的开发效率,可以轻松实现一个产品系列的创建,但缺点也是有的,系统复杂性毫无疑问地提高了,顶层的父接口修改成本更高了,如上面的例子,工厂想再生产手机,那么修改的成本是极具攀升的,必须为每一个产品子接口在增加手机的方法,这样做就太酸爽了,根本做不到。原创 2023-03-17 23:10:47 · 158 阅读 · 0 评论 -
设计模式总篇
毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题,每种模式在现实中都有相应的原理来与之对应,每种模式都描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是设计模式能被广泛应用的原因。从上面可以归纳出设计模式是前辈总结编程经验,为我们提供优秀编程的思路,在实际开发中,我们无需死套模板,而是根据实际场景,具体分析,灵活使用,这才是我们学习设计模式的理由。原创 2023-03-16 22:52:49 · 105 阅读 · 0 评论