我有一个名为SignupForService
的类,它代表用户可以提交以注册我们服务的应用程序。它有很多字段,其中一些包括'名字','姓氏'..
我有一个不同的类,用于模拟用户需要填写的表单作为该应用程序的一部分。它有'first name,age,foo,bar ......'等字段。我们称这个类为Form2
在SignupForService2
上我想使用与SignupForService
上相同的FirstName。我希望他们完全相互联系。
我能想到的最好的方法是使用Composition,但是将对父级的引用发送给子类。像这样:
public class SignupForService2
{
public SignupForService2(SignupForService parent)
{
_parent = parent;
}
private SignupForService _parent;
public string FirstName
{
get{
return _parent.FirstName
}
}
//more stuff here
}
public class SignupForService
{
public string FirstName;
public SignupForService2 signupForService2;
}
我不仅仅将属性全部放在SignupForService类上的原因是因为它变得过于膨胀,并且逻辑上可以拆分为此SignupForService2
(对于字段来说它是全部或全部) 。我也不能只在SignupForService2中继承SignupForService,因为它有很多字段在SignupForService2上没有意义。 (我还有其他案例,例如SignupForService3,SignupForService4 ..)
是否有更好的解决方案的设计模式,或者我不知道的这个模式的名称,它可以更好地描述给我?我想知道这种方法的优点/缺点。
非常感谢
答案 0 :(得分:0)
很好,你很好奇如何正确地做事。
尝试阅读MVC,MVVM,IoC,DI。这是一个很大的阅读,而不是一开始最容易理解,但所有这些都是指你想要解决的问题。
通常,您将根据是否创建WinForms,WPF,ASP.NET或ASP.NET MVC应用程序来选择不同的方法。