首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >超越设计模式?

超越设计模式?
EN

Stack Overflow用户
提问于 2008-08-25 16:40:44
回答 2查看 1K关注 0票数 11

在过去10年左右的时间里,有一些文章和论文提到了克里斯托弗·亚历山大( Christopher )的新著作“秩序的本质”()以及如何将其应用于软件。

不幸的是,我唯一能找到的作品是詹姆斯·科普林和理查德·加布里埃尔;除此之外,我没有别的东西,至少我试图通过谷歌找到这样的东西。

这种讨论是否在任何地方发生过?

MSN

@格鲁吉亚

我的问题不是关于设计模式或模式语言,而是想看看Christopher的更多工作是否可以应用于软件(因为它比体系结构和建筑更少物理约束)。

设计模式和模式语言似乎包含了Alexander设计模式的结构,但没有多少抓住本质。本质是在特定的背景下解决问题之外的事情。

如果不使用亚历山大后来的一些著作作为参照点,就很难解释。

编辑:不,我收回那句话。

例如,有一种叫做凉亭的建筑设计模式。这种模式的背景不仅植根于当时的情况,而且植根于建筑物的基本用途:它们是要居住的建筑,必须促进它们的生活。在美国铝业模式的例子中,背景是你想要一个区域,允许多个人在同一个区域做不同的事情,因为家庭成员在一起很重要,而且能够做一些容易分散其他家庭成员注意力的事情。

大多数软件设计模式在一个上下文中描述一个问题,但它们没有更深入地说明为什么问题很重要,或者为什么这个问题是软件的基础。它使得不恰当或随意地应用设计模式变得非常容易,这与最初的设计模式的意图正好相反。

MSN .

EN

回答 2

Stack Overflow用户

发布于 2012-05-11 22:28:46

Stack Overflow用户

发布于 2012-06-02 14:24:32

你的问题让人想起艾瑞克·埃文斯在他的书“领域驱动设计”中的一些评论。他指出,软件开发中的设计模式常常被描述为技术问题的严格技术性解决方案。但有时有机会应用一种模式,这种模式不仅为软件实现提供了结构,而且在业务模型中也很有意义。

例如,将策略模式的使用仅仅看作是实现细节,而不是程序员和业务讨论如何选择和使用策略的实际意义的情况,即它是系统中无处不在的语言的一部分:

当我们在领域层中使用技术设计模式时,我们必须增加一个额外的动机,另一层意义。当策略对应于实际的业务策略或策略时,模式不仅仅是一种有用的实现技术(尽管就其本身而言也是有价值的)。第12章

Evans认为,使软件模型与业务领域的深层模型保持一致是一个很难实现的目标,但它提供了巨大的价值。如果他是对的,那么也许软件设计模式需要做的“更深层次的陈述”是:该模式如何适应更广泛的问题环境,超出了软件系统本身的狭窄技术范围。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档