我正在使用C# (后端)和JavaScript (前端)为一个计算商店开发一个电子商务网络应用程序。这个应用程序主要显示每台存储的计算机,以及有关它的所有信息(型号、价格、图像、速度、.)。
计算机可以是台式机、膝上型计算机或服务器。每种类型的计算机都可能有额外的参数。例如,笔记本电脑有屏幕大小,而台式机或服务器没有屏幕大小。或者台式机和服务器有电源,而笔记本电脑没有.
为此,UML图将主要包含4个类:
Computer
,包含公共属性和方法。Server
,从Computer
扩展而来。Laptop
,从Computer
扩展而来。Desktop
,从Computer
扩展而来。这个UML图将原则上在后端端(C#)实现。
我的问题是,前端(JS)怎么办:我应该使用相同的类吗?或者前端需要另一个UML图?或者前端是否需要在相同的UML图中添加类,这些类必须以某种方式连接到4个初始类?
发布于 2022-01-04 10:39:04
UML模型可以有不同的范围和用途。你所描述的似乎是一个域模型:
由于前端和后端都处理相同的域,所以您的模型应该对两者都有关联:Laptop
是Computer
,Computer
是许多Component
的程序集,这在两个领域都是相关的,即使每个对象的处理方式都不同。
在前端和后端之间共享域模型的优点是避免了冗余建模和避免误解。每一方可能使用不同的实现策略:也许前端不需要所有UML属性和方法;也许前端对象只是从API获得的一些被动的JS对象;或者您可能坚持使用代理模式的某种变体的模型?选择是你的了。
发布于 2022-01-03 12:10:02
这里有对象设计的几个方面。
由于体系结构的技术方面排除了前端和后端之间的共享方法,我将集中讨论可以共享的数据模型,简化您的设计。
这意味着您必须放弃在数据模型类上放置方法。强迫您进行ADO风格的设计,在这种设计中,您的方法在控制器上而不是在数据上。
https://softwareengineering.stackexchange.com/questions/435702
复制相似问题