设计模式
文章平均质量分 89
设计模式七大原则及23种设计模式
奋斗的小媛
这个作者很懒,什么都没留下…
展开
-
【Head First 设计模式】-- 观察者模式
观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变时,他的所有依赖者都会收到通知并自动更新。类图主题与观察者之间松耦合当两个对象之间松耦合,它们依然可以交互,但是不太清楚彼此的细节。观察者模式提供了一种对象设计,让主题和观察者之间松耦合。关于观察者的一切,主题只知道观察者实现了某个接口(也就是Observer接口)。主题不需要知道观察者的具体类是谁、做了些什么或其他任何细节。任何时候我们都可以增加新的观察者。原创 2023-11-05 16:42:27 · 6296 阅读 · 131 评论 -
【Head First 设计模式】-- 策略模式
Head First设计模式》使用鸭子举例,从一开始简单的封装实现鸭子游泳、叫的行为,到后来行为的添加之后导致现有设计的弹性不足(可复用、可扩展、可维护能力大大折扣),作者将OO基础&原则结合起来,设计一个应对鸭子行为添加时弹性较大的系统,这种模式称之为策略模式。首先考虑利用接口定义行为,特殊的鸭子实现特定的接口,来达到具备某种能力的目的。而最终的这个系统运用的就是策略模式,它将算法族与使用算法的客户独立开来,可以相互替换(我可以在运行时让鸭子会叫,也可以让它不会叫)如果产品要求有的鸭子是会飞的。原创 2023-11-05 14:56:10 · 511 阅读 · 13 评论 -
设计模式——模板模式
设计模式——模板模式在面向对象程序设计过程中,程序员常常会遇到如下情况:设计一个系统时知道算法所需的关键步骤,且确定了这些步骤的执行顺序,但某些步骤的具体实现还未知,或者说某些步骤的实现与具体的环境相关。例如:去医院看病一般都要经历以下流程:挂号、排队、就诊、取药等,其中挂号和排队对每个客户都是一样的,可以在父类中实现,但是就诊和取药是因人而异的。可以延迟到子类中实现。我们把这些规定了流程或格式的实例定义成模板,允许使用者根据自己的需求去更新它。一、模板模式的基本介绍1)、模板方法模式(Templat原创 2020-07-08 17:58:56 · 139 阅读 · 0 评论 -
设计模式---代理模式
在现实生活中,一个对象不能直接访问另一个对象,这时需要找中介来访问目标对象,此时的中介就是代理对象。例如:租房子时,我们无法与房东取得联系,只能通过某网站与中介进行交易,获取自己心仪的房间等等。在软件设计中,使用代理模式的例子也很多,例如:访问阿里的 maven 仓库,其就是海外 maven 仓库的代理。还有因为安全原因需要屏蔽客户端直接访问真是对象,如某单位的内部数据等。一、代理模式基本介绍...原创 2020-04-06 21:53:31 · 149 阅读 · 0 评论 -
设计模式---工厂模式
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单使用的模式。简单工厂模式定义了一个创建对象的类,由这个类...原创 2020-03-29 19:52:03 · 115 阅读 · 0 评论 -
设计模式---七大原则
设计模式的目的是为了让程序,具有更好的代码重用性、可读性(编程规范性,便于后期维护和理解)、可扩展性(当需要增加新需求时,非常方便)、可靠性(增加新功能后,对原功能么有影响)、使程序呈现高内聚,低耦合的特性。设计模式包含了面向对象的精髓,“懂了设计模式,就懂得了面向对象分析和设计(OOA/D)的核心”一、单一职责原则单一职责原则(SRP:Single responsibility princ...原创 2020-03-29 14:57:44 · 186 阅读 · 0 评论 -
设计模式---单例模式
单例模式单例模式有八种方式:1) 饿汉式(静态常量) 2) 饿汉式(静态代码块) 3) 懒汉式(线程不安全)4) 懒汉式(线程安全,同步方法)5) 懒汉式(线程安全,同步代码块)6) 双重检查 7) 静态内部类 8) 枚举推荐使用多线程:枚举、静态内部类、懒汉式双端检测单线程:饿汉式(静态常量)、饿汉式(静态代码块)饿汉式(静态变量)//饿...原创 2020-03-25 12:01:51 · 133 阅读 · 0 评论