设计模式
文章平均质量分 79
Java版设计模式
浮生醉清风i
这个作者很懒,什么都没留下…
展开
-
浅谈设计模式(六)
一、备忘录模式用一个中介对象封装一系列交互的对象,使得各个对象不需要显示的交互引用,松散耦合,属于行为模式。 发起方:记录当前时刻的内部状态信息,提供创建备忘录和恢复备忘录数据的功能。备忘录角色:负责存储发起人的内部状态,在需要的时候提供这些内部状态给发起人。管理者角色:对备忘录进行管理,提供保存与获取备忘录的功能,但其不能对备忘录的内容进行访问与修改。客户端调用:二、中介者模式又叫调停模式,它定义了一个中介角色来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它原创 2022-06-29 10:47:43 · 144 阅读 · 0 评论 -
浅谈设计模式(五)
一、观察者模式又被称为发布/订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系。Observer(抽象被观察者): 抽象主题角色把所有观察者对象保存在一个集合里。Subject:抽象观察者,是观察者的抽象类。QQNotice:具体观察者,以便在得到主题更改通知时更新自身的状态。QQClient:具体主题(具体被观察者),该角色将有关状态存入具体观察者对象,在具体主题的内部状态发生改变时,给所有注册过的观察者发送通知。观察者被观察者客户端调用二、访问者模式概念:封装原创 2022-06-29 10:47:31 · 263 阅读 · 0 评论 -
浅谈设计模式
一、责任链模式概念:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。优点:降低了对象之间的耦合度。该模式使得一个对象无须知道到底是哪一个对象处理其请求以及链的结构,发送者和接收者也无须拥有对方的明确信息。 增强了系统的可扩展性。可以根据需要增加新的请求处理类,满足开闭原则。 增强了给对象指派职责的灵活性。当工作流程发生变化,可以动态地改变链内的成员或者调动它们的次原创 2020-11-27 15:15:26 · 249 阅读 · 1 评论 -
浅谈设计模式(四)
一、组合模式组合模式又叫部分整体模式,它创建了对象组的树形结构。清楚地定义分层次的复杂对象,表示对象的全部或部分层次,它让客户端忽略了层次的差异,方便对整个层次结构进行控制。三个主要的部分:MenuComponent:主要定义共同行为,并可以提供默认的行为。 Menu:组合对象,用于管理底层的叶子。 MenuItem:叶子节点,最底层。public abstract class MenuComponent { private String name; private.原创 2022-05-21 12:07:55 · 148 阅读 · 0 评论 -
浅谈设计模式(三)
一、适配器模式目的:将某个类的接口转换成某个期望接口的的标识,主要是为了兼容性的目的,属于结构性模式。1. 类的适配器现在有一个接口和一个类public interface Voltage5V { public int getVoltageBy5();}public class Voltage220V { public int getVoltageBy220(){ return 220; }}适配类将两个进行适配// 适配类 需要对原创 2022-05-21 12:07:37 · 117 阅读 · 0 评论 -
浅谈设计模式(一)
一、设计模式的目的为了提升代码的重用性、可读性、扩展性、可靠性,从而使模块和模块之间出现高内聚低耦合。二、七大设计原则单一职责原则:简单来说就是 一个类应该只负责一项职责从而降低类的复杂度,例如:在学生类里不要做和食物类相关的事情,又或者常见的DAO。 接口隔离原则:一个类对另一个类的依赖应该建立在最小接口上。当类实现接口,这个接口应该遵循最小接口原则,无关的方法不需要实现,类中实现的都是需要的方法。 依赖颠倒原则:高层模块不应该依赖低层模块,二者都应该依赖其抽象,抽象不应该依赖细节,细节应原创 2022-05-02 10:55:02 · 327 阅读 · 0 评论 -
浅谈设计模式(二)原型模式(克隆)与代理模式
一、Java克隆1. 什么是克隆 Java语言中克隆针对的是类的实例,去复制出来一个一模一样的对象。克隆分为深克隆和浅克隆。2. 克隆的实现 首先,要想实现克隆就需要实现Cloneable接口的类并重写clone()方法。 浅克隆// 浅克隆需要实现Cloneable接口public class Student implements Cloneable{ private Address address; private int number;...原创 2020-11-27 14:50:27 · 240 阅读 · 0 评论