班级设计应该是什么

如果我有与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;
   }
}

每当你需要返回多于一个定义的类型( intstringIEnumberable<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

上一篇: What should be the class design

下一篇: Object Oriented Design for a Chess game