saas架构
存在许多可应用于实现产品技术方面的设计模式,体系结构和设计概念。 例如,我们拥有MVC架构,可将应用程序的视图,控制器和模型隔离开。 我们有一个工厂模式,用于定义如何创建对象等。 然而,所有这些都将自身局限于产品的技术方面,而没有明确的预定义架构或模式来设计和构建“业务功能”。 我在本文中要描述的即插即用体系结构是“功能体系结构”,它定义了一种模式来设计业务功能以充分利用其功能。
模块化体系结构是一种设计技术,其中程序的功能分为独立的,可互换的模块,从而每个模块都包含执行所需功能的一个方面所必需的所有内容。 通常,在模块化体系结构中,分离是基于技术方面进行的。 例如,为数据库交互创建了一个模块,为日志记录创建了另一个,依此类推。 模块化体系结构的优点是您可以轻松替换或添加组件,而不会影响应用程序的其余部分。 模块清楚地定义了用于与模块交互的接口,并且这些接口在编译时与其他模块绑定在一起。
如果我们可以将此体系结构扩展到“业务功能”,而不仅仅是将其限制在产品的技术方面,该怎么办? 我们已经以模块化的方式设计了“业务功能”。 但是,我们不会有意识地将其视为具有清晰的输入和输出接口的模块。
定义即插即用架构
即插即用体系结构将模块化体系结构的技术扩展到业务功能。 例如,可以创建一个模块以包含与定单相关的所有功能,而另一个模块可以被创建为包含与报价相关的所有功能。 我将这些实现业务功能的独立模块称为流程。
在此体系结构中&#x