一点点故事背景:
我司有一个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是怎样的定位? 你觉得它的实用价值有多少 ? 你是否认同我的观点? 是否有相关的经验与大家分享?
感谢!
我司有一个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是怎样的定位? 你觉得它的实用价值有多少 ? 你是否认同我的观点? 是否有相关的经验与大家分享?
感谢!