
设计模式
文章平均质量分 70
HarleyLuu
蒟蒻
展开
-
设计模式之观察者模式
观察者模式当对象之间存在一对多的关系时,可以使用观察者模式。事例引入现在有一个温度系统,这个系统有许多的用户,当温度改变时,该系统便会通知所有的用户,更新用户的温度信息。若不使用观察者模式,这样的一个系统该如何实现呢?如下:public class TemperatureSystem { User userA; User userB; User userC; public void temperatureChange(double temperature原创 2022-04-17 12:12:02 · 536 阅读 · 1 评论 -
设计模式之代理模式
代理模式在现实生活中,经常会有代理模式的场景,如房屋中介、婚介所等等事例引入以房屋中介为实例,在中介不普及的时候,客户需要租房子,直接找房东即可,房东直接租房给客户,对应的关系如下:这样就产生了一个问题,如果客户直接找房东的话,房东就会产生大量的操作,如打广告、带客户看房、签合同等等,此时便产生了房屋中介,房东仅需要将房钥匙提供给中介,中介来完成将房子租出去这个目标,并且打广告、签合同之类全部交给中介去完成:对于客户而言,并没有发生太多的变化,无论找中介还是房东,都可以完成租房的需求,中介和房原创 2022-04-13 10:16:27 · 509 阅读 · 0 评论 -
设计模式之策略模式
策略模式策略模式:策略模式定义了算法族,并将它们分别封装起来,让它们之间相互可以替换,该模式让算法的变化独立于使用算法的客户。事例引入以使用洗衣机为例,洗衣机有多种洗衣策略,而用户需要在这些策略中选出一种策略,然后交给洗衣程序进行执行:而在策略模式中,则有三种角色:抽象策略角色:用户需要完成的目标,即上述的洗衣目标具体策略角色:完成目标所采取的方法、策略,即上述的洗衣策略环境角色:即持有具体策略角色的角色,即上述的洗衣程序,拥有多种洗衣策略而在代码实现中,如下:代码实现抽象策略接原创 2022-04-15 20:18:07 · 339 阅读 · 0 评论 -
设计模式之单例模式
单例模式单例模式指的是在软件系统中,对于某个类而言,只能存在一个对象实例单例模式的特征类的构造器私有化在类的内部创建类的对象提供公有的静态方法,返回类的对象要求对象也声明为静态的单例模式的分类饿汉式饿汉式指的是在该单例类被加载时,即创建该类的对象。懒汉式懒汉式类似于懒加载,当需要获取该类的对象时,才创建该类的对象。单例模式的实现饿汉式饿汉式的单例模式实现,并没有线程安全的问题,因为它在类被加载的时候,就被直接创建了,而再次被调用时,返回的都是同一个对象class Singl原创 2022-04-13 10:10:55 · 396 阅读 · 0 评论