以前的帖子被删除;更新:
所以我有一个独特的问题,虽然这可能相当普遍。属性很可能是最常用的代码;因为它要求我们的数据保持恒定的值存储。所以我想我怎么能实现这个;然后我想到了泛型可以让生活变得多么容易。不幸的是,我们不能在没有繁重工作的情况下只在泛型中使用属性。所以这是我的解决方案/问题;因为我不确定这是不是最好的方法——这就是我寻求同行审查的原因。
请记住,应用程序将是巨大的;这是一个非常简单的例子。
抽象的:
表示层:界面会有一系列字段;甚至数据通过网络服务通过网络传输到我们的数据库。
// Interface:
public interface IHolder<T>
{
void objDetail(List<T> obj);
}
所以我最初的想法是一个接口,它可以让我通用地处理我的每个对象。
// User Interface:
public class UI : IHolder
{
void objDetail(List<object> obj)
{
// Create an Instance
List<object> l = new List<object>();
// Add UI Fields:
l.Add(Guid.NewGuid());
l.Add(txtFirst.Text);
l.Add(txtLast.Text);
// l to our obj
obj = l;
return;
}
}
现在我有了一个界面;我们的 UI 已经使用它来输入信息。现在;这就是我好奇心的根源所在。
// Create an Object Class
public class Customer : IHolder
{
// Member Variable:
private Guid _Id;
private String _First;
private String _Last;
public Guid Id
{
get { return _Id; }
set { _Id = value; }
}
public String First
{
get { return _First; }
set { _First = value; }
}
public String Last
{
get { return _Last; }
set { _Last = value; }
}
public virtual objDetail(List<Customer> obj)
{
// Enumerate through List; and assign to Properties.
}
}
现在这是我认为很酷的地方;如果我可以使用多态性来使用相同的接口;但覆盖它以不同的方式执行该方法。所以接口使用了一个泛型;能够变形为我们给定的项目类别。
现在我们的对象类;可以移动到我们的实体接口,它将处理基本的 Crud 操作。
我知道这个例子对我的意图不是最好的;因为你真的不需要使用多态性。但是,这是总体想法/目标......
- 存储表示层 UI 字段值的接口
- 将属性实现到所需的类
- 在我的班级周围创建一个包装器;可以是多态的。
- 变形为 Crud 操作的泛型
我在正确的道路上吗?这是禁忌吗?我不应该这样做吗?我的应用程序需要保存每个实例;但我需要灵活性来快速适应,而不会破坏过程中的每一个实例。这就是我认为我可以解决问题的方式。有什么想法吗?建议?我在这里错过了一个概念吗?还是我想多了?我是否错过了这条船并完全错误地实施了我的想法?那是我迷路的地方...