![](https://img-blog.csdnimg.cn/223c50b5d69f4886906ac71bff1c3c21.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
文章平均质量分 76
结合自己的学习和师兄资料总结
Mr.liang呀
分享知识 探讨技术
展开
-
设计模式之 外观模式 && 模板方法模式
**外观模式**为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。设计分为三个阶段:首先,设计初期,应该要有意识的将不同的两个层分离,比如经典的三层架构,就需要考虑在数据访问层和业务逻辑层和表示层的层与层之间建立外观Facade,这样可以为复杂的子系统提供一个简单的接口,使得耦合大大降低,其次,在开发阶段,子系统往往因为不断的重构演化而变得越来越复杂,大多数的模式使用也都会产生很多很小的类,这本是好事,但也给外部调用他们的用户程序带来了使用上的困难原创 2022-01-05 21:38:51 · 277 阅读 · 0 评论 -
设计模式之 建造者模式 &&观察者模式
建造者模式:将一个复杂对象的构建和他的表示分离,使得同样的构建过程可以创建不同的表示;建造者模式的使用情况:主要用于创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。建造模式ide好处:使得建造代码与表示代码分离,由于建造隐藏了该产品是如何组装的,所以若需改变一个产品的内部表示,只需在定义一个具体的建造者就可以了。示例一://建造者模式// 示例一://建造胖人和瘦人。先弄一个构建人的抽象基类。//然后创建胖人和兽人类,由基类继承而来原创 2021-12-29 15:11:42 · 642 阅读 · 0 评论 -
设计模式之 装饰模式&&原型模式
一、装饰模式:1 基础理论:装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活装饰模式总结:为已有功能动态地添加更多功能的一种方式。当系统需要新功能时,是向旧的类中添加新的代码。这些新加的代码通常装饰了原有类的核心职责和主要行为,但这种做法的问题是在主类中加入了新的字段、新的方法、和新的逻辑,从而增加了主类的复杂度,而这些新加入的东西仅仅是为了满足一些只在某种特定条件下才会执行的特殊行为的需要。装饰模式提供了一种很好的解决方案,他把每个要装饰的功能放在单独原创 2021-12-28 14:24:52 · 272 阅读 · 0 评论 -
设计模式之 工厂方法模式&&抽象工厂模式
简单工厂模式的优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择动态的实例化相关类,对于客客户端来说是去除了对产品的依赖。但是就是因为这样,每次添加一个新的选择,就要修改工厂类中的switch逻辑分支,这显然违背了开放-封闭原则;工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪个类,工厂方法使一个类的实例化延迟到其子类。工厂方法实现时,客户端需要决定实例化哪一个工厂来实现运算类,选择判断的问题依然存在,也就是说,工厂方法把简单工厂的内部逻辑判断移到了客户端进行,如果想要加功能。则.原创 2021-12-18 16:20:59 · 424 阅读 · 0 评论 -
设计模式之 简单工厂模式 && 策略模式
工厂模式工厂模式(Factory Pattern)是 最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。细节介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产.原创 2021-12-14 15:03:19 · 138 阅读 · 0 评论 -
设计模式(一)总括
请问你用过哪些设计模式,介绍一下单例模式的多线程安全问题单例模式: 单例模式主要解决一个全局使用的类频繁的创建和销毁的问题。单例模式下可以确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。单例模式有三个要素:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。工厂模式: 工厂模式主要解决接口选择的问题。该模式下定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,使其创建过程延迟到子类进行。观察者模式: 定义对象间的一种一对多的依赖关系,原创 2021-12-13 15:41:26 · 430 阅读 · 0 评论