软件编程中有比较经典的 26 个设计模式,分为创建,结构,行为。
那么各位开发自己的框架有哪些,其中用到多个设计模式呢?尤其是结构与行为的设计模式,各位用到了多少个?
我感觉 26 个设计模式中,有几个设计模式是消灭重复性冗余代码的关键。比如策略模式。除了这个还有哪些设计模式能消灭重复性冗余的代码?
软件编程中有比较经典的 26 个设计模式,分为创建,结构,行为。
那么各位开发自己的框架有哪些,其中用到多个设计模式呢?尤其是结构与行为的设计模式,各位用到了多少个?
我感觉 26 个设计模式中,有几个设计模式是消灭重复性冗余代码的关键。比如策略模式。除了这个还有哪些设计模式能消灭重复性冗余的代码?
|
zy445566Aug 10, 2020 via Android
1
我觉得冗余代码还不是最要紧的,无副作用就行。
|
|
2
任何设计模式都是加了一层中间层来控制。不知道在哪里看过这样意思的一句话。带着这种思想再去看设计模式的书,深感确实是这样
|
|
inwarAug 10, 2020 via Android
3
毫无意识地用了:D
码模块还是得先根据需求设计一下代码框架,考虑下边界再往里面填逻辑 |
|
zarteAug 10, 2020
4
单例模式
|
|
egglinAug 10, 2020
5
策略模式是为了减少 ifelse 吧
|
|
arryAug 10, 2020
6
监听器,模板
|
|
7
设计模式的使用就是拿着锤子找钉子
|
|
gadsavesmeAug 10, 2020
9
个人常用模板方法,建造者,工厂这几种。实际开发中很多业务实际上也不需要那么多设计模式,强行往上套感觉蠢蠢的。
|
|
azcvczaAug 10, 2020
10
@wysnylc 在知乎上以前看过一个澳洲码农( Damon Dance For Me)(因为在对比流浪地球和星际穿越时候双标被挂了怒而改名)。他写过一个很有意思的回答,论 java 如何变成 Spring,感觉真是集设计模式改造之大成。这回答要翻挺久估计,好像 14 年左右写的
|
|
PiersSoCoolAug 10, 2020
11
|
|
fhsanAug 10, 2020
12
分层吧,数据库-服务层-控制器-视图
|
|
WngShhngAug 10, 2020
14
常用的: 模板,单例,委托,工厂,构建者,责任链,代理,策略
主要用来消灭冗余代码,只写一套逻辑,便于维护 |
|
azcvczaAug 10, 2020
15
@PiersSoCool 好用的基本都变成语法本身了
|
|
chucongqingAug 10, 2020
17
命令模式,做 undo/redo 好用
|
|
GMAug 10, 2020
18
国内做个业务要各种对接第三方平台,所以 adapter 模式用得最多。
|
|
BrucepacAug 10, 2020 via iPhone
20
@azcvcza 然后在不同的场景下给中间层起不同的名字。其实我感觉不仅是代码中,现实生活中的问题解决基本也是这样,你不会的事,你就会去找好用的工具或者擅长的人帮你。
|
|
panhongkuiAug 10, 2020
21
设计模式就是软考的时候复习了下,项目中常用的也就十来个,消息队列会用到观察者模式。
|
|
ruyuAug 10, 2020
22
设计模式都是浮云
|
|
24
@wysnylc 我倒觉得,策略模式用 map,key 是 String,value 是函数对象这种形式比较好,实现起来也比较简单,要知道有些设计模式,一些语言本身也集成了。
|
|
zzl22100048Aug 11, 2020 via iPhone
26
@wysnylc 都 switch 了为啥不一步到位用 map
|
|
wysnylcAug 11, 2020
27
@zzl22100048 #26 switch 如果是 String 类型内部实现就是先 hash 对比再 eq 和 Map 一致,使用 Map 的问题是无法直观的看到 Map 的内容
如果按照你这个逻辑最后一定是使用 Objects |