Design Pattern 在软件开发知识体系中的定位、实用价值、具体经验?

2014-04-14 12:47:51 +08:00
 soruNis
一点点故事背景:
我司有一个10人以下的开发团队, 其中包括3~4人Server,3人Client,2~3人DB。
不久前, board推荐了一位海归软件工程专家来我司交流开发经验, 期间他反复强调了在他工程经历中遇到的各种Design Patterns(以下简称DP), 同时请我们分享技术架构并列举开发过程中运用过的DPs, 而我们在之前的实际开发过程中,从未有过DP相关的话题讨论或技术指导。
在经过一段时间的review与总结之后, 开发团队才给出了一个大概的答复。这让我们的CEO开始关心DP在软件工程中的重要性,以及为什么我们之前从未有过相关话题的考虑。
此后, 我司的CTO与架构师给出的答复是: "Design Patterns在Client UI 开发中比较重要, Server端基本用不上".

说实话, 即使是站在一个虚心的junior开发者的角度, 我也无法完全接受这些前辈的回答。

虽然DP书中是以一个编辑器为例子,但这并不能证明DP只能适用于做UI。按我的理解,DP是在具体编程实现的层面对软件工程中的问题进行分类,并以OO的思路在实现效率与代码维护性之间做出折中性抽象解答。

从抽象的维度来看,DP应该界于算法与架构之间。

但是由于工程经验实在苍白, 我无法列举具体的例子证明上述假设。

不知在你的心里, DP是怎样的定位? 你觉得它的实用价值有多少 ? 你是否认同我的观点? 是否有相关的经验与大家分享?

感谢!
2348 次点击
所在节点    程序员
5 条回复
missdeer
2014-04-14 12:54:21 +08:00
DP是OO用法的提炼,OO最多用的地方是GUI。
leiz
2014-04-14 12:58:08 +08:00
此后, 我司的CTO与架构师给出的答复是: "Design Patterns在Client UI 开发中比较重要, Server端基本用不上".

见libevent.

方法论和实际方案还是有关系的。虽然使用场景不好说。
min
2014-04-14 13:30:08 +08:00
DP大概是讨论:1. 你遇到了什么问题 2. 你有什么样的工具可供解决问题 3. 基于1和2得出一个兼顾效率灵活性可维护可扩展的办法

这些个问题可能出现在不同的系统逻辑的层面上,没有必要特别限定是算法的,代码的,架构的,前后端的DP
kuber
2014-04-14 15:34:03 +08:00
好大一个坑。
如果说设计模式不仅仅指DesignPattern 这本书里面介绍的23 模式,或者不仅仅是指字面上那些模式的名字,有可能你天天都在用,只是你未必知道罢了。
kshatriya
2014-04-16 22:43:59 +08:00
设计模式,就是一套前人总结的,可以复用的代码模板. 没什么高深的, 只是一种经验.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/108479

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX