泡泡

              宠辱不惊-闲看庭前花开花落
                           去留无意-漫观天外云展云舒
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

02)Abstract Factory

Posted on 2007-09-13 17:14  AlanPaoPao  阅读(124)  评论(0)    收藏  举报
    抽象工厂模式的目的是: 为创建一组相互关联或者相互依赖的对象提供支持。
    实例代码:
public abstract class ButtonFactory
{
  
protected Size _size;
  
protected ButtonFactory()
  
{
    
this._size = new Size(128128);
  }

  
public virtual Button CreateButton()
  
{
    Button button 
= new Button();
    button.Size 
= this._size;
    
return button;
  }

  
public virtual Button CreateButtonOK()
  
{
    Button button 
= this.CreateButton();
    button.Text 
= "OK";
    
return button;
  }

  
public virtual Button CreateButtonCancel()
  
{
    Button button 
= this.CreateButton();
    button.Text 
= "Cancel";
    
return button;
  }

}


public class BetaFactory : ButtonFactory
{
  
protected Font _font;
  
public BetaFactory()
    : 
base()
  
{
    
this._font = new Font("Arial"10);
  }

  
public override Button CreateButton()
  
{
    Button button 
= base.CreateButton();
    button.Font 
= this._font;
    button.TextAlign 
= ContentAlignment.TopCenter;
    
return button;
  }

  
public override Button CreateButtonOK()
  
{
    Button button 
= base.CreateButtonOK();
    
//code
    return button;
  }

  
public override Button CreateButtonCancel()
  
{
    Button button 
= base.CreateButtonCancel();
    
//code
    return button;
  }

}