gpt4 book ai didi

c# - 实体设计与继承

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:01 25 4
gpt4 key购买 nike

我正在考虑为更大的应用程序设计实体基类,并希望获得一些意见。主要是如果指定的是必须完成的方式,或者是否有更清洁的方式。

在解决方案中,我有一些所有实体都将继承的 baseclass 变体。关系可以指定如下:

EntityBase//the primary baseclass containing name and id + other stuff 
NestedEntityBase:EntityBase //(if class will be able to contain lists of itself)

VersionedEntityBase:EntityBase //(Some parameters specific for versioned entities)
VersionNestedEntityBase:NestedEntityBase// (versioned AND nested)

CurrentStateEntityBase:VersionedEntityBase// (the currentstate objects)
VersionStateEntityBase:VersionedEntityBase// (old objects, saved when surrentstate objects change)

CurrentStateNestedEntityBase:VersionNestedEntityBase// (the currentstate objects)
VersionStateNestedEntityBase:VersionNestedEntityBase //(old objects, saved when surrentstate objects change)

不幸的是,这会造成一些代码重复,因为多重继承是不可能的。

它还将设置通用服务和通用 Controller 基类的划分。

这是必须的处理方式还是我错过了一些更有效地执行此操作的巧妙方法?

最佳答案

装饰器设计模式怎么样:http://en.wikipedia.org/wiki/Decorator_pattern

它允许用一些新的行为来扩展类层次结构而无需复制每次都是这个层次结构。它还增加了扩展行为的好处运行时(不仅在编译时)。

关于c# - 实体设计与继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17463589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com