课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
掌握不同的软件架构方式能够让软件开发程序员适应更多的软件开发场景,满足不同开发需求,而本文我们就简单了解一下,软件架构微内核模式与CQRS的优缺点。
1、微内核模式(Microkernel)
当应用程序有一组核心职责和一组可互换的部件时,微内核模式(或插件模式)非常有用。微内核将提供应用程序的入口点和一般流程,而不需要真正了解不同的插件在做什么。
例如任务调度,微内核可以包含所有的调度和触发逻辑,而插件负责特定的任务。只要插件遵循特定的API,微内核就可以出发它们,而不需要了解实现的细节。
另一个例子是工作流。工作流的实现包含诸如不同步骤的顺序、评估步骤的结果、决定下一步的内容等概念,步骤的的具体实现对于工作流的核心代码并不重要。
优势
灵活性&可扩展性
某些实现允许我们在应用运行时添加插件
微内核和插件可以由不同团队开发
劣势
难以确定哪些东西属于微内核
预定义的API可能不适合未来的插件
适用于
从不同来源获取数据、转换数据并写入不同地方的应用
工作流应用
任务和作业调度应用
2、命令职责查询分离模式(CQRS)
CQRS是CommandandQueryResponsibilitySegregation的缩写。这种模式的核心概念是应用具有完全分离的读取操作和写入操作,这也意味着用于写操作(命令)的模型和读取(查询)不同。此外,数据将存储在不同的位置。在关系数据库中,意味着将存在用于命令模型的表和用于读取模型的表。一些实现甚至将不同的模型存储在完全不同的数据库中,例如用于命令模型的SQLServer和用于读取模型的MongoDB。
优势
命令模型专注于业务逻辑和验证,读取模型根据特定情境进行定制
可以避免复杂的查询,让读取更高效
劣势
保持命令和读取模型同步可能会让事情变得很复杂
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。