班级设计应该是什么
如果我有与WinForm相对应的WinForm,则有一个业务逻辑类称为类服务器。
class Server根据表单控件中输入的值进行一些计算,并且需要将该信息传递给另一个类,如类Client。
我所做的解决方案是,我使用了Mediator Pattern。
class Server
{
Mediator m = new Mediator();
m.IValue=txtValue.text;
Client c =new Client(m);
}
class Mediator
{
private int iValue
public int IValue{get,set};
}
class Client
{
Mediator m;
private int val;
Client(Mediator m)
{
this.m=m
}
val = m.IValue;
}
有没有其他方法可以做到这一点?
我认为如果简单地将这些实体分离开来会更好。
假设,类信息是业务逻辑将要处理的内容,然后传递给客户端。
继续如下。
Interface IInformation
{
}
class Info: IInformation
{
}
class Server
{
ProcessInfo(IInformation infoUserInput)
{
//business logic
.
.
//pass to client
client c = new client(infoUserInput);
}
}
class client
{
IInformation revcieveInfo;
client(IInformation rec)
{
revcieveInfo = rec;
}
}
每当你需要返回多于一个定义的类型( int
, string
, IEnumberable<T>
,或其他)时,你需要创建自己的类来定义那些你需要返回给调用者的字段。
例如,如果您需要将有关地址的所有信息返回给调用者,那么您将创建一个Address类。 调用者将调用该方法,并返回一个Address对象。
public class Address
{
public string Street { get; set; }
public string Unit { get; set; }
public string City { get; set; }
public string Region { get; set; }
public string PostalCode { get; set; }
}
public Address GetSomeAddress ()
{
// Perform the logic to either retrieve or create the address
var result = new Address ();
// Perform some action on it
result.Street = "123 No Place";
// and return it
return result;
}
因为你没有说明你在哪个领域工作,所以没有太多的帮助可以在这之外提供。 如果你可以发布更多关于你的域名的信息(你试图完成什么),那么你可以得到更详细的答案。
如果没有更多的信息,我不明白你为什么使用/担心中介模式。
听起来你可能对阅读Presentation Model设计模式感兴趣。 我认为MVC,PM和MVVM是中介模式的形式,它们都是从视图中获取业务逻辑的方法。
另外,如果你刚刚启动C#,你可能会考虑研究学习WPF。 MVVM模式有点出入,有很多很好的教程和例子。 我写了一篇关于在博客文章中学习WPF和MVVM的文章,并且提供了可能对您有帮助的链接。 这是一个很大夸张地说我“教训”这在一个周末,因为它的六个月后,我仍然在学习,但我认为,如果你看各种截屏,你可以得到在一个周末的基本知识有很好的理解。
链接地址: http://www.djcxy.com/p/51039.html