有没有关于企业架构模式(就像Fowler的)的(集中的)信息的好来源,比如示例和用例,以及相当多的实用信息?例如,我已经看到GoF的许多设计模式在一些SO帖子和其他网站上都有简短的解释,以及与它们相关的实用信息。我想从一个更实用的面向企业应用的范例中寻求一个类似的资源。
谢谢。
发布于 2015-01-09 19:58:12
我想要一个类似的资源,它是一个面向企业应用的功能更强大的范例。
据我所知没有任何消息来源。现代FP的大规模企业使用通常不到10年,因此资源倾向于以互联网的形式。此外,许多人避免使用GoF,因为它与FP基本无关。
所以仍然是你最好的选择(这里有一个例子:https://stackoverflow.com/a/3077912/83805 )。不过,可以肯定的是,FP架构的书是有市场的。
社论
根据我的经验,几乎所有的设计都属于“编译器”或“解释器”模式,使用数据模型和数据上的函数。也就是说,问题域被表示为代数结构(对象是具有函数的ADT),而软件体系结构是从一个代数到另一个代数的映射。这就是“范畴理论”设计模式(!)
我们的代数数据类型是捕获结构的最佳方式。函数是转换这些结构或将它们映射到新类型结构的最佳方法。而且有很多关于编写编译器和解释器的研究,它们使得这件事变得容易。您可以通过编写编译器(或解释器)来实现大多数系统。因此,学习如何编写编译器。
当你开始寻找这些“分类”的软件问题时,作为解释器或编译器,有多少东西会掉下来,这是相当令人惊讶的。像MVC这样的东西作为解释器脱颖而出。很多商业软件(数据交换)变成了parser+analysis+pretty打印机--也就是编译器。很明显,架构(即如何粘合组件)实际上是关于代数和类别的。
显然,这是关于高层架构的。更低层次的事情,比如如何最好地实现日志记录系统,或者如何最好地连接昂贵的组件,如何传递环境,重放/回滚确实具有特定的抽象,您可以重用,这是另一个问题。通常是作为库捕获的monads/monad/applicatives或其他计算概念。
不过,我们再次转到代数视图,以找到最能捕获问题域的结构。
https://stackoverflow.com/questions/27852709
复制相似问题