11

在过去 10 年左右的时间里,有少量文章和论文引用了 Christopher Alexander 的新作品“秩序的本质”以及如何将其应用于软件。

不幸的是,我能找到的唯一作品是 James Coplien 和 Richard Gabriel 的作品。除此之外没有什么,至少从我尝试通过谷歌找到这些东西来看。

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

微信


@乔治亚州

我的问题不在于设计模式或模式语言。这是关于尝试看看克里斯托弗亚历山大的更多工作是否可以应用于软件(它可能可以,因为它的物理限制比建筑和建筑还要少)。

设计模式和模式语言似乎已经接受了 Alexander 设计模式的结构,但抓住精髓的并不多。本质是在特定环境中解决问题之外的东西。

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

编辑:不,我收回了。

例如,有一种称为 Alcoves 的架构设计模式。该模式的背景不仅植根于情况,而且植根于建筑物目的的基本原理:它们是要居住的结构,并且必须促进居住在其中。在 Alcove 模式的情况下,上下文是您想要一个允许多个人在同一区域做不同事情的区域,因为对于家庭成员来说,身体在一起以及能够做事很重要容易分散其他家庭成员注意力的事情。

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

微信

4

2 回答 2

0

您的问题让我想起了 Eric Evans 在他的“领域驱动设计”一书中的一些评论。他指出,软件开发中的设计模式经常被描述为对技术问题的严格技术解决方案。但有时有机会应用一种模式,该模式不仅为软件实现提供结构,而且在业务模型中也很有意义。

例如,将 STRATEGY 模式的使用仅视为一个实现细节,而不是程序员和企业讨论如何选择和使用 STRATEGIES 的情况,即它是通用语言的一部分。系统:

当我们在领域层使用技术设计模式时,我们必须添加一个额外的动机,另一层含义。当 STRATEGY 对应于实际的业务战略或策略时,该模式就不仅仅是一种有用的实现技术(尽管它也很有价值)。【第十二章】

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

于 2012-06-02T14:24:32.620 回答
0

尝试从http://c2.com/cgi/wiki?NatureOfOrderhttp://c2.com/cgi/wiki?HowNatureOfOrderAppliesToSoftware开始

于 2012-05-11T22:28:46.140 回答