pen*_*ake 4 .net c# oop service cohesion
就面向对象设计而言,您是否认为提供将数据库保存到数据库中的功能会破坏类的COHESION?
想像:
Product p = new Product()
{
Name = "Joy Rider",
Price = 100,
Currency = "USD"
};
Run Code Online (Sandbox Code Playgroud)
您是否认为将此产品保存到DataBase最好以这种方式完成:
p.Save();
Run Code Online (Sandbox Code Playgroud)
或者以某种方式:
ProductServices.SaveProduct(p);
Run Code Online (Sandbox Code Playgroud)
你怎么看?
它确实干扰了单一责任原则.示例中Product类的用途是表示产品以及该产品上的操作.与数据库交互不是班级责任的核心部分.
使用ProductServices类可以提高代码的可维护性.假设用于保存数据库中对象的逻辑是要更改(它可以)您想要更改系统中的每个实体类吗?
| 归档时间: |
|
| 查看次数: |
587 次 |
| 最近记录: |