设计模式
文章平均质量分 73
设计模式
日拱一卒ZHD
别害怕梦想与现实的距离;
只有想不到,没有做不到!
展开
-
设计模式之模板方法模式
模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。原创 2024-08-03 11:12:05 · 358 阅读 · 0 评论 -
设计模式之建造者模式 与 工厂模式
建造者模式与工厂模式都用于生产对象。区别: 建造者模式用于生产比较复杂的对象,注重生成对象过程中的细节,可能最后创建对象的步骤依赖之前的准备工作。工厂模式用于生成简单的对象,注重结果不注重过程。打个比方:建造者模式是生产包子,在包出包子之前,需要准备馅儿、调味等前置工作,前置工作准备完成后最后是包包子。工厂模式是生产馒头,简单快捷。原创 2024-07-29 21:29:06 · 276 阅读 · 0 评论 -
设计模式之观察者模式
主题接口仅仅依赖于观察者接口,这样,就可以让创建具体主题的类也仅仅是依赖于观察者接口,因此,如果增加新的实现观察者接口的类,不必修改创建具体主题的类的代码。同样,创建具体观察者的类仅仅依赖于主题接口,如果增加新的实现主题接口的类,也不必修改创建具体观察者类的代码。同样,由于观察者仅仅依赖于主题接口,因此具体观察者只是知道它依赖的主题是实现主题接口的某个类的实例,但不需要知道具体是哪个类。在本案例中,堤坝成为了被观察者对象,是否出现管涌、决堤等情况,武警、消防、医护是观察者,根据堤坝的状态做出相应的措施。原创 2024-07-28 09:19:06 · 944 阅读 · 0 评论 -
设计模式之责任链模式
在酒宴上宾客依次坐定位置,由一人击鼓,击鼓的地方与传花的地方是分开的,以示公正。比如下面这个场景: 在公司请假,请半天或1天假需要组长审批即可,请2-3天假,需要直系经理进行审批,请4-5天假需要部门经理审批,请超过5天假期需要公司高层审批。:具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下家。由于具体处理者持有对下家的引用,因此,如果需要,具体处理者可以访问下家。在责任链模式1中,事件会经过链上的每一环节,有些情况是没必要经过全部环节的,可以在链上的任意一个环节进行中断返回。原创 2024-07-27 10:09:20 · 773 阅读 · 0 评论 -
设计模式之工厂方法模式
工厂方法模式:工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。举例说明:相信很多人都做过导入导出功能,就拿导出功能来说。原创 2024-07-24 15:52:07 · 529 阅读 · 0 评论 -
设计模式之简单工厂设计模式
简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。如果后期功能扩展,需要提供邮箱密码验证登录方式,则只需扩展ILoginService的实现类+创建对应的对象即可,原有功能无需任何改动。举例 (场景描述): 用户登录,可以使用 账户+密码 登录,也可使用 账户 + 动态验证码登录。以上仅是个人思考,有更好的idea,欢迎一起探讨。抽象出登录验证的动作,如下图所示。原创 2024-07-23 22:55:57 · 220 阅读 · 0 评论 -
UML学习
关联关系体现的是两个类,或者类与接口之间的强依赖关系,这种关系很强烈,比依赖更强,不是偶然性的,也不是临时性的,而是一种长期性,相对平等的关系,表现在代码层面,为。举个例子,如某人要过河,则人与船的关系就是依赖,人过河之后,与船的关系就解除了,因此是一种弱的连接。,这是因为组合关系的整体和部分是共生关系,如果通过外部注入,那么即使整体不存在,那么部分还是存在的,这就相当于变成了一种聚合关系了。表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系;聚合关系是关联关系的一种情况。原创 2024-07-23 17:33:57 · 572 阅读 · 0 评论