随笔分类 -  设计模式

工厂、单例、代理、委派、策略、模板、适配器、装饰者、观察者
摘要:一、GOF 23种设计模式简介 设计模式其实是一门艺术。设计模式来源于生活,不要为了套用设计模式而去使用设计模式。设计模式是在我们迷茫时提供的一种解决问题的方案,或者说用好设计模式可以防范于未然。自古以来,在我们人生迷茫时,我们往往都会寻求帮助,或上门咨询,或查经问典。就在几千年前,孔夫子就教给了我 阅读全文
posted @ 2020-04-03 00:02 Zeki_Chen 阅读(449) 评论(0) 推荐(0)
摘要:一、装饰者模式 1、装饰者模式(Decorator Pattern):指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继承更有弹性的替代方案(扩展原有对象的功能)。(属于结构型模式) 2、适用场景 用于扩展一个类的功能或给一个类增加附加职责 动态的给一个对象添加功能,这些功能可以再动态的撤 阅读全文
posted @ 2020-03-30 21:22 Zeki_Chen 阅读(602) 评论(0) 推荐(0)
摘要:一、模板模式 1、模板模式(Template Method pattern):指定义一个算法的骨架,并允许子类为一个或者多个步骤提供实现。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤。(属于行为型模式) 2、适用场景 一次性实现一个算法的不变的部分,并将可变的行为留给子类来实 阅读全文
posted @ 2020-03-28 19:16 Zeki_Chen 阅读(1007) 评论(0) 推荐(0)
摘要:一、委派模式 委派模式(Delegate Pattern):指负责任务的调度和分配任务,跟代理模式很像,可以看做是一种特殊情况下的静态代理的全权代理,但是代理模式注重过程,而委派模式注重结果。(属于行为型模式,但它不属于GOF的23种设计模式之一。类名以Delegate和Dispatcher结尾的一 阅读全文
posted @ 2020-03-25 00:28 Zeki_Chen 阅读(1103) 评论(1) 推荐(0)
摘要:一、代理模式 1、代理模式(Proxy Pattern):指为其他对象提供一种代理,以控制对这个对象的访问。(结构型设计模式) Spring AOP就是用代理模式实现的,包括事务代理、非侵入式日志监听等。 代理对象在客户端和目标对象之间起到中介作用。生活中的代理模式:(目标对象也即被代理对象) 2、 阅读全文
posted @ 2020-03-19 22:44 Zeki_Chen 阅读(375) 评论(0) 推荐(0)
摘要:一、概念 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。(创建型模式。简单来说,就是用于复制对象) 在Spring中,原型模式应用得非常广泛。例如 scope=“prototype”,我们经常用的JSON.parseObject()也是 阅读全文
posted @ 2020-03-15 16:26 Zeki_Chen 阅读(344) 评论(0) 推荐(0)
摘要:一、单例模式 1、单例模式(Singleton Pattern):指确保一个类在任何情况下都绝对只有一个实例,私有化其所有构造方法,并提供一个全局访问点。(属于创建型模式) 2、适用场景 确保任何情况下都绝对只有一个实例(如ServletContext、ServletConfig、Applicati 阅读全文
posted @ 2020-03-14 15:52 Zeki_Chen 阅读(458) 评论(0) 推荐(0)
摘要:一、工厂模式的由来 二、简单工厂模式 例子:创建一个ICourse课程接口: 创建一个JavaCourse实现类: 创建一个PythonCourse实现类: 创建一个CourseFactory类,用来生成JavaCourse或PythonCourse对象: 创建一个SimpleFactoryTest 阅读全文
posted @ 2020-03-09 01:36 Zeki_Chen 阅读(348) 评论(0) 推荐(0)
摘要:一、软件开发设计原则:(七大原则) 开闭原则:软件实体对扩展开放、对修改关闭(用抽象构建架构,用实现扩展细节) 单一职责原则:类或接口的职责要单一、只做一件事,保证功能的单一性、纯洁性 依赖倒置原则:要针对抽象层编程,而不要针对具体实现类编程 接口隔离原则:一个接口不要包含过多的职责,应合理划分,跟 阅读全文
posted @ 2020-03-06 01:38 Zeki_Chen 阅读(251) 评论(0) 推荐(1)