
设计模式专栏
文章平均质量分 90
ikwil
先做该做的,再做想做的
展开
-
Java设计模式之责任链模式(Chain of Responsibility Pattern)笔记
责任链模式的核心思想是将请求沿着一个链条传递,每个处理者负责判断自己是否能够处理请求,如果能够处理就处理之,如果不能处理就将请求传递给下一个处理者,直到请求被处理为止。:即使一个处理者无法处理请求,责任链仍然可以继续传递请求给下一个处理者,提高了系统的容错性。每个处理者根据请假天数决定是否能够批准请求,如果不能批准,就将请求传递给下一个处理者,直到被批准或者到达责任链的末尾。:如果责任链中的最后一个处理者也无法处理请求,那么请求将被忽略,客户端可能不会得到任何响应,这可能是一个潜在的问题。原创 2023-10-11 11:15:00 · 153 阅读 · 1 评论 -
Java设计模式之装饰器模式(Decorator)笔记
这种模式通过创建一个包装器类来实现,在这个包装器类中包含了原始类的实例,并且可以在不改变原始类的接口的情况下,增加额外的行为或功能。:装饰器模式使得每个装饰器类专注于一个特定的责任或功能,这有助于代码的可维护性,因为每个装饰器类都只关心它自己的功能,而不需要了解整个对象的复杂性。:在GUI开发中,装饰器模式可用于添加各种UI组件的装饰,比如按钮、文本框等,以增加额外的功能,如边框、滚动条、提示等。装饰器模式可能会导致类的数量增加,特别是在有多个装饰器的情况下,这可能会增加代码的复杂性和理解难度。原创 2023-10-10 15:13:06 · 246 阅读 · 1 评论 -
Java设计模式之外观模式(Facade)笔记
外观模式的主要目的是简化复杂系统的接口,提供一个更高级别的接口,以便客户端可以更容易地与系统进行交互,而不需要了解系统内部的复杂性。当系统具有多个复杂的子系统或组件,而客户端需要与这些子系统进行交互时,外观模式可以用来提供一个简化的接口,使客户端更容易使用系统。这取决于系统的设计和外观类的实现。当需要提供一个高层次的接口,以便客户端能够执行常见的操作,而不需要了解底层的实现细节时,可以使用外观模式。客户端是使用外观模式的代码部分,它通过外观类来访问系统的功能,而不需要直接与系统的复杂子系统进行交互。原创 2023-09-26 20:25:44 · 451 阅读 · 1 评论 -
Java设计模式之中介者模式(Mediator)笔记
它了解各个对象的接口,并能够根据接收到的消息来决定如何协调对象之间的交互。中介者模式通过引入中介者对象,降低了系统中对象之间的耦合度,促进了对象之间的协作与通信。中介者模式的主要作用是降低系统中对象之间的耦合度,同时促进对象之间的松散耦合,从而提高系统的可维护性、可扩展性和可复用性。如果系统中存在多个对象之间的复杂多对多关系,中介者模式可以提供一个统一的中心点,管理这些对象之间的交互,如社交媒体平台。在测试类中,创建中介者对象和各个同事对象,然后注册同事对象到中介者,并通过中介者来进行消息的发送和接收。原创 2023-09-25 09:00:00 · 268 阅读 · 1 评论 -
Java设计模式之抽象工厂模式(Abstract Factory)笔记
如果您的产品对象可以分为不同的族群,每个族群都有一组相关的产品,例如不同操作系统下的界面元素、不同风格的家具等,抽象工厂模式是一个有用的设计模式。:如果您的应用程序需要支持多个不同的产品族,并且这些产品族之间的切换要求是相对频繁的,抽象工厂模式可以提供一种灵活的方式来支持这种切换。:当您的应用程序需要同时创建多个相关的对象,这些对象通常一起使用,并且具有一定的关联性,抽象工厂模式可以帮助您管理这些对象的创建。:确保创建的产品对象都满足一组共同的接口,创建的对象在整个系统中保持一致性,属于同一产品族。原创 2023-09-24 15:15:00 · 1278 阅读 · 1 评论 -
Java设计模式之工厂方法模式(Factory Method)笔记
目录什么叫工厂方法模式工厂方法模式作用工厂方法模式特征工厂方法模式应用场景工厂方法模式的实现抽象产品接口创建具体产品类定义抽象接口创建具体工厂类测试工厂方法总结参考文献 工厂方法模式(Factory Method Pattern)是一种常用的创建型设计模式,它提供了一种将对象的创建逻辑抽象出来的方式,让子类决定实例化哪个具体类。这样可以使得一个类的实例化延迟到其子类,从而达到解耦的目的。将对象的创建和使用分离:工厂方法模式将对象的创建过程封装到工厂类中,客户端代码不需要直接实例化具体产品对象,原创 2023-09-17 18:44:13 · 102 阅读 · 0 评论 -
Java设计模式之策略模式(Strategy)笔记
策略模式将算法的具体实现与算法的使用分离开来,使得客户端代码不需要关心具体的算法细节。这样,客户端代码可以专注于高层逻辑,而不会受到底层算法的影响。原创 2023-09-14 11:05:40 · 362 阅读 · 0 评论 -
Java设计模式之单例模式(Singleton)笔记
关于单例模式实际上并不复杂,并且也不要求全部掌握,实际上仍需根据实际情况使用不同的方式,这篇文章也仅是我自己的学习笔记加上一点理解,希望能对大家有所帮助。原创 2023-09-10 21:03:54 · 254 阅读 · 0 评论