首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
「设计模式」系列
Kerwin_
创建于2021-07-05
订阅专栏
设计模式从概念到实战,用对话的方式提炼需求要点,用最简练的代码带你领略设计模式的精髓。
等 66 人订阅
共14篇文章
创建于2021-07-05
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
「论道架构师」优雅解决历史代码中的新需求
事件起因 6月中旬,可爱的产品大大给我提了一个临时需求,需要我对商品创建/更新业务中由开放平台对接而来的请求做一个Check,如果符合要求,则再做一段稍微复杂的逻辑处理。 这种Easy程度的需求怎么拦
设计模式总篇:从为什么需要原则到实际落地(附知识图谱)
从逻辑学来说,如果机器人完全遵守三大定律及其衍生的条约,那么机器人就可以和人类和平相处,当然也会有意外发生。 答案当然是不一定,毕竟没有人能保证自己可以完全遵循七大原则,同时个人的编程能力也会起到决定性因素。 当使用继承时,遵循里氏替换原则。类B继承类A时,除添加新的方法完成新…
【一起学系列】之剩下的设计模式们
将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连城一条链,并沿着这条链传递该请求,直到有一个对象处理它为止 降低耦合度。它将请求的发送者和接收者解耦 简化了对象。使得…
【一起学系列】之代理模式:是为了控制访问啊!
【开发】:我啊,我租的房子名义上倒是房东直租,但估计还是中介,你知道吗,中介的扩张是一个必然。 【开发】:现在肯定不至于全部都是,但也是大部分了,为什么会这样呢,因为中介需要控制租户,控制租金市场,如果租户直租房东,房东钱多人好,就很有可能很便宜,这就会打乱市场价格,所以拿下所…
【一起学系列】之状态模式:你听过“流程”模式吗?
【产品】:Hello,开发小哥,我们需要开发一款 娃娃机 ,你可以提前想想怎么设计它啦。 【开发】:娃娃机?我想想奥,它需要投币,用户移动,确认抓取,结束这几个动作,好像很好做欸,用一个变量维护它当前的阶段,然后写四个 if 语句就好啦。 我们会首先遇到一个问题,我们无法得知它…
【一起学系列】之迭代器&组合:虽然有点用不上啦
【开发】:老大,我们能不能把遍历方法抽取出来啊?我们遍历操作就可以不用考虑各种细节了,只需要管遍历类就好了。 【BOSS】:什么遍历类的,这叫 迭代器 好吗!其实JDK对于迭代器已经维护的很好了,但是咱们这业务也有一点特殊性,就按你说的办吧,办不好的话,刚才说的年终奖就没了。 …
【一起学系列】之模板方法:写SSO我只要5分钟
...........
【一起学系列】之适配器模式:还有外观模式呢
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
【一起学系列】之命令模式:封装一个简单Jedis?
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 在日常生活中都有订单的概念,为什么我们下订单,服务员或者其他工作人员完全明白我们的意图呢?就是因为我们按照他们制定的规则构建起了一个命令,那么在交互过程就不需要层…
【一起学系列】之单例模式:只推荐三种~
保证一个类仅有一个实例,并提供一个访问它的全局访问点。 【BOSS】:哈?我来看看。
【一起学系列】之工厂模式:产品?产品族?
工厂方法用来处理对象的创建,并将这样的行为封装在子类中,这样,客户程序中关于超类的代码就和子类对象创建代码解耦了。 【BOSS】:那个谁,小柯啊,工厂方法模式懂吗,去做吧,给你半天时间,好好设计设计。 【产品】:我... 我好像搞错需求了... 【产品】:咱们的订单不是仅仅只生…
【一起学系列】之装饰器模式:不改代码增强功能?
有时我们希望给某个对象而不是整个类添加一些功能,例如:一个图形用户界面工具箱允许你对任意一个用户界面组件添加一些特性,例如边框。 使用继承机制是添加功能的一种有效途径,但这种方法不够灵活,因为边框的选择是静态的,用户不能控制对组件加边框的方式和时机。一种较为灵活的方式是将组件嵌…
【一起学系列】之观察者模式:我没有在监控你啊
将一个系统分割成一系列相互协作的类有一个常见的副作用:需要维护相关对象间的致性,我们不希望为了维持一致性而使各类紧密耦合,因为这样降低了它们的可重用性。 拉模型强调的是目标不知道它的观察者,而推模型假定目标知道一些观察者的需要的信息。推模型可能使得观察者相对难以复用,因为目标对…
【一起学系列】之策略模式:好多鸭子啊
Some times later... 【开发】:(不敢说话,只有内心独白: 原来无脑继承会出大问题啊... 我是谁... 我在哪... 我该怎么办...) Q1. 以后还有很多奇奇怪怪的情况,谁知道老板哪天要不要让橡皮鸭也飞起来,我该怎么办? Q2. 只用封装,继承好像不行,…