![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 83
CodeHuba
这个作者很懒,什么都没留下…
展开
-
行为模式之模板模式的案例示范
1. 模板模式介绍模板模式的核心设计思路是通过在抽象类中定义抽象方法的执行顺序,并将抽象方法设定为只有子类实现,但不设计独立访问的方法。只定义了执行顺序和基本策略,具体由开发者自己安排。2. 案例场景模拟在本案例中我们模拟爬虫各类电商商品,生成营销推广海报场景。关于模板模式的核心点在于由抽象类定义抽象方法执行策略,也就是父类规定了一系列的执行标准,这些标准的串联成一整套业务流程。这个场景中我们模拟爬虫爬取各类商家的商品信息,生成推广海报(海报中带有个人邀请码),赚取商品返利。而整个爬取过程分原创 2022-01-11 10:51:50 · 422 阅读 · 0 评论 -
行为模式之观察者模式的案例示范
1. 观察者模式介绍简单来说,当一个行为发生时传递信息给另外一个用户接受做出相应的处理,两者之间没有直接的耦合关联。在编程开发中也会经常用到一些观察者的模式或组件,如MQ服务,虽然MQ服务是有一个通知中心并不是每一个类服务进行通知,但整体上可以算是观察者模式的思路设计。再比如可能做过的一些类似事件监听总线,让主线服务与其他辅线业务服务分离,为了使系统降低耦合和增强扩展性,也会使用观察者模式思想。2. 案例场景模拟在本案例中模拟每次小客车指标摇号事件通知场景。假如这个类似的摇号功能由你来开发,并原创 2022-01-10 11:48:37 · 4652 阅读 · 0 评论 -
行为模式之策略模式的案例示范
1. 策略模式介绍策略模式是一种行为模式,也是替代大量ifelse的利器。它所能解决的场景,一般是具有同类可替代的行为逻辑算法场景。比如,不同类型的交易方式(信用卡、支付宝、微信)、生成唯一ID策略(UUID、DB自增、DB+Redis、雪花算法、Leaf算法)等,都可以使用策略模式进行包装,供给外部使用。策略模式有点像三国演义中诸葛亮给刘关张的锦囊:第一个锦囊:见乔国老,并把刘备娶亲的事情搞得东吴人尽皆知。第二个锦囊:用曹操打荆州的谎言骗跑在温柔乡的刘备回去。第三个锦囊:让孙夫人摆平东吴的追原创 2022-01-08 19:14:56 · 1483 阅读 · 0 评论 -
牢记设计模式六大设计原则
设计模式六大设计原则:单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。通俗的讲,一个类和方法只做一件事。开放封闭原则:软件实体可以扩展,但是不可修改。即面对需求,对程序的改动可以通过增加代码来完成,但是不能改动现有的代码。抽象架构,扩展实现。里氏代换原则:一个软件实体如果使用的是一个基类,那么一定适用于其派生类。即在软件中,把基类替换成派生类,程序的行为没有变化。多态,子类可扩展父类。依赖倒转原则:抽象不应该依赖细节,细节应该依赖抽象。迪米特原则:如果两个类不直接通信,那么这两个类不应原创 2022-01-07 11:25:19 · 108 阅读 · 0 评论 -
结构型模式之代理模式的案例示范
1. 代理模式介绍代理模式有点像老大和小弟,也有点像分销商。主要解决的问题是为某些资源的访问、对象的类的易用操作上提供方便使用的代理服务。而这种设计思想的模式经常会出现在我们的系统或用到过的组件中,它们都提供给你一种非常简单易用的方式控制原本你需要编写很多代码而进行使用的服务类。类似的场景:你的数据库访问层面经常会提供一个较为基础的应用,以此来减少应用服务扩容时不至于数据库连接数暴增。使用过的一些中间件:PRC框架。在拿到jar包对接口的描述后,中间件会在服务启动的时候生成对应的代理类,当调用接原创 2022-01-07 11:03:47 · 1232 阅读 · 0 评论 -
结构型模式之桥接模式的案例示范
1. 桥接模式介绍桥接模式的主要作用就是通过将抽象部分与实现部分分离,把多种可匹配的使用进行组合。说白了核心实现就是A类中含有B类接口,通过构造函数传递B类的实现,这个B类就是设计的桥。桥接模式在平常的开发中有哪些场景?JDBC多种驱动程序的实现、同品牌类型的台式机和笔记本平板、业务实现中多类接口同组过滤服务等。这些场景都比较适合桥接模式进行实现,因为在一些组合中如果每一个类都实现不同的服务可能会出现笛卡尔积,而使用桥接模式就可以非常简单。2. 案例场景模拟随着市场的竞争在支付服务行业出现了微原创 2022-01-04 14:47:28 · 1422 阅读 · 1 评论 -
结构型模式之适配器模式的案例示范
1. 介绍在业务开发中我们经常需要做不同接口的兼容,尤其是中台服务,中台需要把各个业务线的各种类型服务做统一包装,再对外提供接口进行使用。2. 案例场景模拟随着业务不断发展,当基础的系统逐步成型之后,业务运营就需要开始做用户的拉新和促活,从而保证DUA的增速以及最终ROI转换。这里模拟一个营销系统,例如:你邀请一个用户开户,或者邀请一个用户下单,那么平台就会给你返利,多邀多得。同时随着拉新的量越来越多,开始设置每月下单就会给首单奖励等等各种营销场景。那么这个时候做这样一个系统就会接收各种各样的M原创 2021-12-31 18:45:04 · 639 阅读 · 0 评论