与干净架构(Clean Architecture)的关系
Bricks Architecture既是Clean Architecture的一种变体,同时也是Clean Architecture的一种实现模式。
Brick对应于Entities
Context对应于UseCases
Adapter对应于Adapters
与DCI架构的关系
Bricks Architecture既是DCI的一种变体,同时也是DCI的一种实现模式。
Brick对应于Data
Context对应于Context
Adapter+Interactor对应于Interaction
与MV*架构的关系
Builder可以实现为Generator,生成MVP架构的代码,如果使用双向绑定如VUE,那么将生成MVVM架构的代码
Builder也可以实现为Controler,加载手写代码,可以视为MVC架构的代码。
与VIPER架构的关系
Model是由Builder根据Brick(Entity)生成
View是由Builder根据Context + Scenario生成
Presenter是由Builder据Context + Scenario+ Brick生成
那么Bricks模式,在生成后变成VIPER,在代码生成后,实际代码是基于VIPER模式的。
(Builder+Context+Scenario)+ Interactor + bricK + Router
VIEW + Interactor + Presenter + Entity + Router
架构模式的动态选择
代码生成,在成熟平台如Web,可以完全应用,Bricks框架可以构建LowCode低代码平台。生成的代码可以应用MVC,MVP,MVVM模式。
在代码生成不成熟的平台,如手机平台,可以部分应用或不使用,Bricks框架可以应用VIPER,Clean Architecture等复杂的模式。
动态选择架构模式可以避免过度设计。
与软件架构设计目标的符合度
由于Bricks是完全模块化的模式,在可定制化等方面有着天然的优势。
可定制化(CuSTomizable)
可伸缩性(SCAlable)
可维护性(MAIntainable)
可扩展性(Extensible)
在安全性、可靠性方面,虽然整体强度是降价的,但是模块本身能够被复用,被测试,模块的质量是上升的,所以整体还是可靠的。
安全性(Secure)
可靠性(Reliable)
由于在复用性(DCI模式的应用)、可扩展性(模块化)的优势,界面的一致性很高,开发快速,性能虽然有可能受影响,但体验还是优秀的。
市场时机(Time to Market)
客户体验(Customer Experience)