gpt4 book ai didi

c# - 方法依赖 - 最佳实践?

转载 作者:太空狗 更新时间:2023-10-30 01:22:43 25 4
gpt4 key购买 nike

处理方法执行所依赖的属性的最佳方法是什么?

假设您有一个具有 2 个属性的类和一个使用这 2 个属性执行某些操作的方法。实例化类,设置属性,然后执行方法(不带参数)会更好吗?还是实例化类,然后执行方法,传入将设置属性的参数?

例如:

class Person ...
string Name ...
string Address ...
void Save() {
Database.SavePerson(this.Name, this.Address);
}

--- 或 ---

class Person ...
string Name ...
string Address ...
void Save(string name, string address) {
this.Name = name;
this.Address = address;
Database.SavePerson(this.Name, this.Address);
}

在第一个示例中,如果在调用 Save 方法之前尚未设置名称和地址,您将收到错误消息。因此,您似乎必须验证这些属性是否已在方法中设置。

第二个示例强制用户提供执行该方法所需的数据。但是,这似乎有点多余,因为传入的参数已经是对象的属性。

是否有“最佳”方法来做到这一点?

提前致谢。

最佳答案

首先我会考虑让实体负责其自身的持久性是否是您想要的设计。

如果不是,则 Person 实体将公开属性,而另一种类型将负责保存该 Person 实体(如果使用类似例如 Repository 模式)。

如果实体负责持久化自身(如果您使用丰富的域模型,例如与 CSLA 等框架一起使用的模型,就会出现这种情况),那么您将只有一个无参数的Save 方法,如果属性是必需的,那么某种形式的验证框架将捕获任何缺失的要求。

关于c# - 方法依赖 - 最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12962910/

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