CN115688397A - 一种基于领域驱动设计的社交平台业务建模方法 - Google Patents
一种基于领域驱动设计的社交平台业务建模方法 Download PDFInfo
- Publication number
- CN115688397A CN115688397A CN202211294976.5A CN202211294976A CN115688397A CN 115688397 A CN115688397 A CN 115688397A CN 202211294976 A CN202211294976 A CN 202211294976A CN 115688397 A CN115688397 A CN 115688397A
- Authority
- CN
- China
- Prior art keywords
- domain
- business
- sub
- model
- social platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种基于领域驱动设计的社交平台业务建模方法。本发明为克服传统模型对模块边界定义不清晰,模块与模块之间耦合严重的问题。在限界上下文的边界内提取出领域对象,将领域对象分为实体和值对象,并将相关联的实体和值对象放在同一个聚合中。有了聚合之后,通过分析各个领域对象的领域行为,将领域行为归结到领域层,提出一个统一的业务规则(通用语言),从而产生一个负责协调实体和值对象按照固定的业务规则协同完成共同的业务逻辑的聚合根,得到了拥有清晰边界划分的领域模型。将领域模型融入合适的可扩展的架构模型,完成社交平台业务建模,使得模块内高内聚,模块间低耦合,提高系统的可维护性和可拓展性。
Description
技术领域
本发明属于领域驱动设计技术领域,涉及一种基于领域驱动设计的社交平台业务建模方法。
背景技术
目前市面上许多社交平台系统,大部分后台是采用Java语言编写的,而采用Java语言时选择的系统架构,大多是基于MVC或MVVM架构的。
众所周知,Java是一门面向对象的编程语言。理论上说,使用Java语言开发的系统,从需求评审到正式开发再到系统测评,应该处处体现着面向对象的思想。然后,由于种种原因,目前主流的开发模式是从设计数据库入手的。
系统在团队成员分析完需求后,通常由设计E-R关系图入手,代码也跟随着E-R图的设计而展开编写,而数据库设计的好坏,也严重制约着系统的可拓展性和可维护性。原本应该在系统中得到体现的面向对象的编程思想被开发人员抛至脑后,从而导致很多开发人员并不把重心放在业务上,只关心数据之间如何交互,如何处理,并产生一种整日都在做重复的增删改查操作的感觉。
除此之外,这种开发模式会导致业务人员与开发人员想法严重脱离,业务人员无法准确传达产品需求,浪费大量的时间在开发过程中的沟通上。
而基于领域驱动设计的开发模式,让在线社交平台在开发初期便明确模型边界,将系统的核心子域、支撑子域和通用子域分别提取出来,让团队成员将精力放在对业务最有价值的东西上。与此同时,在事件风暴中梳理业务过程中的用户操作、事件以及外部依赖关系等,将系统中的领域对象提炼出来,从而确定业务和应用边界,保证业务模型与代码模型的一致性。
发明内容
本发明的目的是为了克服现有技术的上述缺陷,提供一种基于领域驱动设计的社交平台业务建模方法。基于领域驱动设计的业务建模方法,是基于业务建立的领域模型,根据系统的核心价值,通过领域驱动设计建模,得到了领域模型,划分出清晰的限界上下文,识别出领域内的实体和值对象,分析实体之间的依赖关系组成聚合,使得模块内高内聚,模块间低耦合,提高系统的可维护性和可拓展性。
为了实现上述目的,本发明具体包括如下步骤:
根据社交平台业务用户需求将用户的核心价值抽象成系统领域,将系统领域划分为四个子域:用户子域、用户推荐匹配子域、一个支撑子域和一个通用子域;同时根据用户需求构建通用语言;
完成子域划分后,使用战略模式识别出各个子域中拥有的实体和值对象,形成清晰的限界上下文,便于在战术模式落地阶段构建出聚合;
找出支撑子域中实体,识别出该聚合拥有的值对象,得到聚合;聚合在领域模型中,存在于领域层,而领域层由多个聚合构成;
当划分得到聚合后,采用事件风暴找出业务中的行为和事件,从而产生领域服务。
将所有的业务行为和事件列举出来,并通过这些业务行为或业务对象,找出相关的领域对象,并梳理领域之间的关系,找出聚合根,从而得到了一个拥有合理边界划分的领域模型。
在完成上述步骤后,团队成员对不同子域重复或者存在歧义的通用语言进行修改,使得在一个限界上下文内不存在含有歧义的语言。
最后,从业务需求出发,确认社交平台所需达到的目的,兼顾用户需求,选择合理的可扩展的架构模型,并将领域模型融入其中,完成社交平台业务建模。
所述系统领域划分原则从全局出发,并不仔细考虑子域内的领域对象以及领域对象之间的关系,也不考虑子域间的交互。
所述通用语言能够准确传达业务含义,不随团队成员的变化而变化,降低人员变动对项目开发进度的影响。通用语言在团队范围内使用,并且只表达一个单一的领域模型,限界上下文和通用语言间也存在一对一的关系。通用语言也会随着时间推移而不断变化,通用语言库也会随之不断壮大。
所述的实体一般对应业务对象,它具有业务属性和业务行为;而值对象主要是属性集合,拥有不变性,需要对实体的特征或者状态进行描述。
本系统目的在于克服传统模型对模块边界定义不清晰,模块与模块之间耦合严重的问题。限界上下文和子域存在交集部分的,在划分完成限界上下文和子域后,需要在限界上下文的边界内提取出领域对象,将领域对象分为实体和值对象,并将相关联的实体和值对象放在同一个聚合中。同时分析各个领域对象的领域行为,将领域行为归结到领域层,提出一个统一的业务规则(通用语言),从而产生一个负责协调实体和值对象按照固定的业务规则协同完成共同的业务逻辑的聚合根,得到了一个拥有清晰边界划分的领域模型。根据社交平台用户需求得出合理的可扩展的架构模型,并将领域模型融入其中,完成社交平台业务建模。使得模块内高内聚,模块间低耦合,提高系统的可维护性和可拓展性。
附图说明
图1为本发明整体流程图;
图2为本发明实施例中子域划分示意图;
图3为本发明动态子域中的聚合示意图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,一种基于领域驱动设计的社交平台业务建模方法,具体包括如下步骤:
团队成员对社交平台需求进行充分评估,识别出系统利益相关者,提炼出用户需求。根据用户需求明确系统的目标用户、业务范围和核心价值;
将用户的核心价值将抽象成系统领域,划分系统领域内的通用子域、支撑子域,从而形成清晰的限界上下文,并提取得到限界上下文内的实体和值对象,形成聚合,得到聚合根,从而得到了一个拥有合理边界划分的领域模型。
同时根据用户需求构建通用语言,通用语言能够准确传达业务含义,不随团队成员的变化而变化,降低人员变动对项目开发进度的影响。通用语言在团队范围内使用,并且只表达一个单一的领域模型,限界上下文和通用语言间也存在一对一的关系。通用语言也会随着时间推移而不断变化,通用语言库也会随之不断壮大。
如图2所示,首先,将系统领域划分为四个子域:两个核心子域(用户子域和用户推荐匹配子域),一个支撑子域(动态子域)和一个通用子域(即时通讯子域);
划分原则从全局出发,并不仔细考虑子域内的领域对象以及领域对象之间的关系,也不考虑子域间的交互。便于团队成员能够在一个相对较小的问题空间内,使用事件风暴梳理业务对象。
完成子域划分后,使用战略模式识别出各个子域中拥有的实体和值对象,便于在战术模式落地阶段构建出聚合。
实体一般对应业务对象,它具有业务属性和业务行为;而值对象主要是属性集合,拥有不变性,需要对实体的特征或者状态进行描述。
如图3所示,将动态子域中拥有的动态、评论和话题等实体找出来,同时识别出该聚合拥有的值对象,得到聚合。
聚合在领域模型中,存在于领域层,而领域层由多个聚合构成;领域模型是对象的业务形态模型,包括数据和行为等业务含义。
当划分得到聚合后,采用事件风暴找出业务中的行为和事件,从而产生领域服务。
具体为:团队成员经过商讨后,将所有的业务行为和事件列举出来,并通过这些业务行为或业务对象,找出相关的领域对象,并梳理领域之间的关系,从而找出聚合根,每个聚合内有一个聚合根。
多个实体、值对象和领域服务等领域对象,共同完成聚合的业务逻辑。
在完成上述划分后,团队成员对不同子域重复或者存在歧义的通用语言进行修改,使得在一个限界上下文内不存在含有歧义的语言。
此时考虑系统整体架构方案,诸如六边形架构和面向服务架构等等,从业务需求出发,确认社交平台所需达到的目的,兼顾用户匹配、个人信息管理、在线聊天、动态管理等需求,得出合理的可扩展的架构模型,并将领域模型融入其中,完成社交平台业务建模。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (4)
1.一种基于领域驱动设计的社交平台业务建模方法,其特征在于:具体包括如下步骤:
根据社交平台业务用户需求将用户的核心价值抽象成系统领域,将系统领域划分为四个子域:用户子域、用户推荐匹配子域、一个支撑子域和一个通用子域;同时根据用户需求构建通用语言;
完成子域划分后,使用战略模式识别出各个子域中拥有的实体和值对象,形成清晰的限界上下文,便于在战术模式落地阶段构建出聚合,
找出支撑子域中实体,识别出该聚合拥有的值对象,得到聚合;聚合在领域模型中,存在于领域层,而领域层由多个聚合构成;领域模型是对象的业务形态模型;
当划分得到聚合后,采用事件风暴找出业务中的行为和事件,从而产生领域服务;
将所有的业务行为和事件列举出来,并通过这些业务行为或业务对象,找出相关的领域对象,并梳理领域之间的关系,找出聚合根,从而得到了一个拥有合理边界划分的领域模型;
在完成上述步骤后,团队成员对不同子域重复或者存在歧义的通用语言进行修改,使得在一个限界上下文内不存在含有歧义的语言;
最后,从业务需求出发,确认社交平台所需达到的目的,兼顾用户需求,选择合理的可扩展的架构模型,并将领域模型融入其中,完成社交平台业务建模。
2.如权利要求1所述的基于领域驱动设计的社交平台业务建模方法,其特征在于:所述系统领域划分原则从全局出发,并不仔细考虑子域内的领域对象以及领域对象之间的关系,也不考虑子域间的交互。
3.如权利要求1所述的基于领域驱动设计的社交平台业务建模方法,其特征在于:所述通用语言能够准确传达业务含义,不随团队成员的变化而变化,降低人员变动对项目开发进度的影响;通用语言在团队范围内使用,并且只表达一个单一的领域模型,限界上下文和通用语言间也存在一对一的关系;通用语言也会随着时间推移而不断变化,通用语言库也会随之不断壮大。
4.如权利要求1所述的基于领域驱动设计的社交平台业务建模方法,其特征在于:所述的实体一般对应业务对象,它具有业务属性和业务行为;而值对象主要是属性集合,拥有不变性,需要对实体的特征或者状态进行描述。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211294976.5A CN115688397A (zh) | 2022-10-21 | 2022-10-21 | 一种基于领域驱动设计的社交平台业务建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211294976.5A CN115688397A (zh) | 2022-10-21 | 2022-10-21 | 一种基于领域驱动设计的社交平台业务建模方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115688397A true CN115688397A (zh) | 2023-02-03 |
Family
ID=85065852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211294976.5A Pending CN115688397A (zh) | 2022-10-21 | 2022-10-21 | 一种基于领域驱动设计的社交平台业务建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115688397A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703258A (zh) * | 2023-04-10 | 2023-09-05 | 深圳市长亮科技股份有限公司 | 一种分析建模方法 |
-
2022
- 2022-10-21 CN CN202211294976.5A patent/CN115688397A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116703258A (zh) * | 2023-04-10 | 2023-09-05 | 深圳市长亮科技股份有限公司 | 一种分析建模方法 |
CN116703258B (zh) * | 2023-04-10 | 2024-02-27 | 深圳市长亮科技股份有限公司 | 一种分析建模方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240070487A1 (en) | Systems and methods for enriching modeling tools and infrastructure with semantics | |
CN108764984A (zh) | 一种基于大数据的电力用户画像构建方法及系统 | |
CN106548210A (zh) | 机器学习模型训练方法及装置 | |
Tennison et al. | APECKS: a tool to support living ontologies | |
JP2015502620A (ja) | 矛盾するルールを伴うケースの検出 | |
CN104732310A (zh) | 基于统一数据模型的数据集成方法 | |
CN108536718A (zh) | 一种基于输入输出语义化实现的管理信息化的方法和系统 | |
CN115688397A (zh) | 一种基于领域驱动设计的社交平台业务建模方法 | |
CN116360766A (zh) | 一种基于ddd可视化设计器的低代码系统和装置 | |
Al-Fedaghi | Conceptual data modeling: Entity-relationship models as thinging machines | |
Coda et al. | Big data systems requirements for Industry 4.0 | |
CN107679209A (zh) | 分类表达式生成方法和装置 | |
CN117539433A (zh) | 一种基于模型驱动架构的微服务设计方法 | |
Stefani et al. | Constituent elements for prescriptive analytics systems | |
Herbold | Mining developer dynamics for agent-based simulation of software evolution | |
Grambau et al. | Reference Architecture framework for enhanced social media data analytics for Predictive Maintenance models | |
Bouanan et al. | Simulating information diffusion in a multidimensional social network using the DEVS formalism (WIP). | |
Akundi et al. | Identifying the thematic trends of model based systems engineering in manufacturing and production engineering domains | |
CN117850764B (zh) | 基于集成式模型驱动架构的设计建模方法及装置 | |
Bimol et al. | Cloud Computing: A new generation of IT infrastructure for Knowledge Management | |
Tyagi et al. | An extension of interpretive structural modeling using linguistic term sets for business decision-making | |
Kiswani et al. | Using metadata in optimizing the design and development of enterprise information systems | |
CN111562904B (zh) | 一种基于SysML系统模型的可靠性框图RBD辅助建模方法 | |
Lockemann et al. | Future database technology: Driving forces and directions | |
CN117610164A (zh) | 一种基于mbse的地铁转向架定制设计方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |