Any*_*are 12 c# asp.net ado.net
如果我有一个类,以某种方式表示我的数据库中的特定表的映射..此类包含约30个属性.
我创造了CRUD Methods.
并发现自己需要另一个(UPDATE)方法,它应该只更新两个字段.
我应该用一个简单的例子以良好的方式做什么?
我将通过创建两个单独的接口并为每个接口创建重载函数。我会根据使用情况对属性进行分组,就像我希望状态在与其他常见属性分开的某个时间进行更新。
public interface ICommonProperties
{
public string P1{get; set;}
public string P2{get; set;}
public string P3{ get; set; }
}
public interface ITrackable
{
public string Status{get; set;}
}
public class FinalClass : ICommonProperties, ITrackable
{
public string P1{get; set;}
public string P2{get; set;}
public string P3{get; set;}
public string Status{get; set;}
}
public class FinalClassOperations
{
public void Update(FinalClass finalClassInstance) { }; //Updates everything
public void Update(ICommonProperties finalClassInstance) { }; //Updates only ICommonProperties
public void Update(ITrackable finalClassInstance) { }; //updates only Status.
}
Run Code Online (Sandbox Code Playgroud)
此外,如果您愿意,您可以创建一个单独的类来仅更新状态,并且仍然适合:
public class Tracker : ITrackable{
public string Status{get; set;}
}
Run Code Online (Sandbox Code Playgroud)
但是,是的,如果这两个属性不能在逻辑上分开,我就不会这样做并将它们放在一起。
| 归档时间: |
|
| 查看次数: |
269 次 |
| 最近记录: |