《大话设计模式》读书笔记-建造者模式
// 建造者類
??? class PersonDirector
??? {
??????? private PersonBuilder pb; 
??????? public PersonDirector(PersonBuilder pb)
??????? {
??????????? this.pb = pb;
??????? } 
??????? public void CreatePerson()
??????? {
??????????? pb.BuildHead();
??????????? pb.BuildBody();
??????????? pb.BuildArmLeft();
??????????? pb.BuildArmRight();
??????????? pb.BuildLegLeft();
??????????? pb.BuildLegRight();
??????? }
??? } 
 abstract class PersonBuilder
??? {
??????? // 建造人的抽象類
??????? protected Graphics g;
??????? protected Pen p; 
??????? public PersonBuilder(Graphics g, Pen p)
??????? {
??????????? this.g = g;
??????????? this.p = p;
??????? } 
??????? public abstract void BuildHead();
??????? public abstract void BuildBody();
??????? public abstract void BuildArmLeft();
??????? public abstract void BuildArmRight();
??????? public abstract void BuildLegLeft();
??????? public abstract void BuildLegRight();
??? }
// 瘦人類
??? class PersonThinBuilder : PersonBuilder
??? {
??????? public PersonThinBuilder(Graphics g,Pen p):base(g,p)
??????? { 
??????? }
??????? public override void BuildHead()
??????? {
??????????? g.DrawEllipse(p,50,20,30,30);
??????? } 
??????? public override void BuildBody()
??????? {
??????????? g.DrawRectangle(p,60,50,10,50);
??????? } 
??????? public override void BuildArmLeft()
??????? {
??????????? g.DrawLine(p,60,50,40,100);
??????? } 
??????? public override void BuildArmRight()
??????? {
??????????? g.DrawLine(p,70,50,90,100);
??????? } 
??????? public override void BuildLegLeft()
??????? {
??????????? g.DrawLine(p,60,100,45,150);
??????? } 
??????? public override void BuildLegRight()
??????? {
??????????? g.DrawLine(p,70,100,85,150);
??????? }
??? }
Pen p = new Pen(Color.Black);
PersonThinBuilder ptb = new PersonThinBuilder(pictureBox1.CreateGraphics(), p);
PersonDirector pdThin = new PersonDirector(ptb);
pdThin.CreatePerson();
建造者模式:將一個復雜對象的構建與表示分離,使得同樣的構建過程可以創建不同的表示。
轉載于:https://www.cnblogs.com/liming1019/archive/2010/01/08/1642681.html
總結
以上是生活随笔為你收集整理的《大话设计模式》读书笔记-建造者模式的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 微信人格专业测试软件,如何在微信公众号中
 - 下一篇: 英语教学计划软件测试,八年级下册英语教学