什么是对象的构造函数负责所有/任何后续操作的设计。这个类的使用涉及到简单地创建一个实例,然后它是所有人都忘记了。你如何称此模式?
是一个愚蠢的例子:
public class Order
{
public Order(int ammount,Product type)
{
Ammount = ammount;
Namespace.OrderManager.RegisterNewOrder(this);
Namespace.WarehouseManager.Substract(this);
Namespace.OrderManager.Invoice(this);
Namespace.DeliveryManager.Deliver(this);
.. well, you get the point;
}
// Called back later from DeliveryManager
public void OrderHasBeenDelivered()
{
//save some data to the DB, or notify the UI
}
// Called back later from OrderManager
public void OrderHasBeenCanceled()
{
Namespace.DeliveryManager.CancelDelivery(this);
}
}
... Order类的用法:
public void CreateOrder_click(object sender, EventArgs e)
{
new Order(50, CDs);
new Order(10, DVDs);
new Order(10, DVDs);
}
编辑:
好,使用其和一个简单的静态的区别方法,就是新创建的Order对象将被用在许多不同的地方,而不是由创建它的函数/线程/对象来使用。
我简单地创建了订单对象,它向OrderManager注册自己,然后订单管理器将在稍后关闭订单。我不会丢弃这个对象,它会继续存在于应用程序中。
我不明白'ctype'参数是如何在ctor中使用的。我不知道这种模式的名称,但我不喜欢在构造函数中隐藏业务逻辑。 – 2010-06-20 19:29:34