设计模式
文章平均质量分 93
Danny_idea
热爱技术,热爱生活,一步一个脚印。
更多宝贵知识记录可以关注个人公众号:Idea的技术分享
展开
-
一起聊聊设计原则
今晚我们一起来聊聊关于设计原则相关的知识点。 SOLID五大原则是什么 SRP 单一责任原则 单一责任原则,从名字上我们就能比较好的去理解它。这项原则主张一个对象只专注于单个方面的逻辑,强调了职责的专一性。 举个例子: 学生管理系统中,我们需要提交一些学生的基本资料,那么学生信息相关的程序都交给了StudentService负责,如果我们要实现一个保存教师基本资料的功能就应该新建一个TeacherService去处理,而不应该写在StudentService当中。 OCP开放封闭原则 这项原则从我个人的原创 2021-09-08 12:25:16 · 288 阅读 · 0 评论 -
深入剖析观察者模式
前段时间在工作中使用了观察者模式来做代码段解耦工作,依赖的是通过消息时间处理,但是由于使用的是第三方的依赖,所以将消息的订阅和发布给屏蔽了一部分。今天特意来深入了解一下这方面的知识内容点。 对于观察者来说,必定会有事件源和观察事件源的观察者。 简单来说,观察者模式就是多个观察者关注同一个事件源,当事件源发生改动的时候,多个观察者都能立马获取到响应。 通常我们可以将这种关系用下图来表示: 对于设计的代码里面来说,通常我们会定义一个叫做事件源的模块,并且在让观察者和事件源之间为了能有更好的关联, 内部一般都会原创 2020-07-12 11:24:35 · 295 阅读 · 0 评论 -
关于营销系统的一些实战心得
营销系统是一个动态的、有机地结合的系统,经常会随着业务的不断变化发生调整,因此从事这一业务的开发可让我头疼了。 之前在工作中就不乏一次遇到过随意调整营销策略的情况,在部分场景下由于使用了硬编码的方式来实现,因此在调整策略的时候显得特别不灵活。 下边我列举一个曾经遇到过的应用场景: 业务部门需要上线一款新型的产品,用户在线上购买了对应的产品,然后下单支付之后需要享受不同的服务内容,这些服务包含了赠送...原创 2020-05-14 15:54:58 · 531 阅读 · 0 评论 -
设计模式(1)策略模式
对于设计模式里面的策略模式而言,个人认为是个比较常用,而且非常有用的设计方式。在策略模式里面,讲究的就是一个灵活,对于不同的方法实现都用了相应的策略来进行封装,因此在调用的时候会比较方便。适合使用的策略模式的情况:适用条件:当逻辑里面出现了较多的条件判断的时候,可以使用相应的策略模式来进行优化。优点:代码灵活,高可控,可读性强。缺点:当判断逻辑较多的情况时,使用策略模式就不太适合。可以考虑一下组合...原创 2018-04-23 20:33:57 · 188 阅读 · 0 评论 -
设计模式(2)工厂模式
这次主要是讲一些关于设计模式里面抽象工厂部分的内容,首先,先摆上一个实例来说接下来是相应的代码部分:首先是相应的实体类部分,零食基类:package com.sise.工厂模式.抽象工程模式; public abstract class Snack { public String name; public double price; public Snack(){ ...原创 2018-04-23 23:37:48 · 217 阅读 · 0 评论 -
设计模式(3)组合模式
对于组合模式而言,它的关键是定义了一个抽象构件类,它既可以代表叶子,又可以代表容器,而客户端针对该抽象构件类进行编程,无须知道它到底表示的是叶子还是容器,可以对其进行统一处理。同时容器对象与抽象构件类之间还建立一个聚合关联关系,在容器对象中既可以包含叶子,也可以包含容器,以此实现递归组合,形成一个树形结构。例如说,我们需要构建一个文件处理功能,假若说使用组合模式的方式来实现的话,代码如下所示:首先...原创 2018-04-23 23:41:23 · 161 阅读 · 0 评论 -
设计模式(4)代理模式
谈及设计模式里面的代理模式,不得不说,这个模式在网上有很多的应用场景。例如说,Spring里面的代理机制,dubbo的动态代理模式生成proxy过程等等。 代理模式的概念: 代理模式是指使用代理对象来执行某一个对象所要执行的相应方法。 我们常说的代理模式主要划分为了两种类型: 静态代理 所谓的静态代理我的认识就是一种灵活性较差的代理设计。其基本的设计结构图如下所示: 每次做代理的时候,都需要实现...原创 2018-11-17 20:38:21 · 168 阅读 · 0 评论