惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
月光博客
月光博客
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
Stack Overflow Blog
Stack Overflow Blog
Engineering at Meta
Engineering at Meta
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
宝玉的分享
宝玉的分享
A
About on SuperTechFans
Vercel News
Vercel News
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
Visual Studio Blog
Jina AI
Jina AI
Y
Y Combinator Blog
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI

博客园 - 温森特

企业应用架构研究系列十三:整合EFCore&Dapper 通用ORM框架EFDapper 企业应用架构研究系列二十四:SQL Server 数据库调优之XEvent 探查器 企业应用架构研究系列二十五:IdentityServer4 认证服务搭建 企业应用架构研究系列十二:网络模型与网络协议 企业应用架构研究系列二十三:微服务之程序网关YARP 企业应用架构研究系列二十六:信号量SemaphoreSlim与Semaphore 企业应用架构研究系列二十八:身份认证 Beginning Out With IdentityServer4 企业应用架构研究系列二十七:Vue3.0 之环境的搭建与Vue Antd Admin探索 企业应用架构研究系列五:极限编程(XP)& 敏捷管理(Scrum) 企业应用架构研究系列二十:创建&发布Docker 企业应用架构研究系列十九:Docker开发环境 前端NEXT实践系列:(一)ECMAScript 6.0技术栈 企业应用架构研究系列三:应用系统集成 企业应用架构研究系列二:MSF&Scrum 项目管理 .NET Standard 跨平台支持的实践 Azure技术系列之Redis篇---第一章数据缓存 MERGE MOSS 2013研究系列---修改默认Logo MOSS 2013研究系列---隐藏Ribbon
企业应用架构研究系列一:业务拆分
温森特 · 2022-03-22 · via 博客园 - 温森特

企业应用架构研究系列一:业务拆分

2022-03-22 09:09  温森特  阅读(1056)  评论()    收藏  举报

  现代软件开发和以前的软件开发有很大的不同,以前软件一般都会根据业务流程,设计程序的入口和程序的出口,即软件耦合性很强。随着软件技术的不断发展和DDD领域设计模型的不断深入研究,在微服务化开发框架的大力推广下,Docker技术和K8s 技术的普及,新一代的企业应用架构再次革新了软件行业。

  无论是软件开发者还是应用架构者,我认为只是一个工作角色而已,没有必要分的太清晰,作为软件行业从业者,大家都应该具备软件的设计架构理念。最近深读了《Microsoft.NET企业级应用架构设计》和《企业应用架构模式》这两本书,还是启迪很深,特别是开头这句话“完美的设计不是保罗万象无所不有,而是完整自洽不可精简”。

  开启企业应用架构之旅,首先我们需要有一个专门的架构描述语言工具,就是UML 统一建模语言,这个是也是软件设计领域被国际公认的标准。后期我会单独抽出一个章节进行UML建模语言的Knowledge Discovery(探索)。本章之谈谈企业应用架构中对业务拆分的理解。

  首先进行分功能分解,分解的原则就是,符合通用开放-关闭原则 , 将每个业务逻辑模型进行封装,关闭对该业务的所有业务数据的操作,开放关联接口或服务。通俗点讲,就是我的地盘我管,不允许非授权操作我的数据和业务,所有操作统一接口。

  

  每个业务领域里面,以应用的控制为中心,对业务的活动记录和业务实体的属性进行不断的操作,而这些操作都是基于业务模块里面定义好的规则进行,这种逻辑有着严格的控制,而且这些控制又不依赖外部影响。就是自己的逻辑故事自己来撰写,同时业务模型对外提供标准的操作说明,而这些操作由 单独的关联映射去管理。这样就可以将自己领域内的事情自己来维护。关联映射部分,就是负责协调对外的承诺,自己内部无论怎么调整,我对外的承认或关联不会变。

  业务领域拆分,就是把一个生态环境拆分若干模块,业务生态是千变万化的,是不断发展和演变,每天的故事都是不一样的。而拆分的业务领域模型,就是一个工厂,工厂内的机器控制产品的装配,产品的包装,产品的质检,工厂生产环节不关心外部的事情,外部的事情都由工厂的对外经营负责,自己站好自己的岗。

  总结一下,封装了领域内的故事,开放对外的承诺,专业的事情由专业的模块处理。业务拆分达到这个目标,就能在整个企业应用架构中保持稳定的架构模型。

您的支持,我的动力!