惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
WordPress大学
WordPress大学
雷峰网
雷峰网
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Latest news
Latest news
Spread Privacy
Spread Privacy
T
Threat Research - Cisco Blogs
T
Tor Project blog
博客园 - Franky
U
Unit 42
K
Kaspersky official blog
博客园_首页
G
GRAHAM CLULEY
美团技术团队
I
Intezer
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
Engineering at Meta
Engineering at Meta
The Hacker News
The Hacker News
B
Blog
云风的 BLOG
云风的 BLOG
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
S
Securelist
Last Week in AI
Last Week in AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
M
MIT News - Artificial intelligence
Martin Fowler
Martin Fowler
Schneier on Security
Schneier on Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
S
SegmentFault 最新的问题
W
WeLiveSecurity
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
J
Java Code Geeks
Cyberwarzone
Cyberwarzone
爱范儿
爱范儿
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
The GitHub Blog
The GitHub Blog
S
Security @ Cisco Blogs
GbyAI
GbyAI
P
Proofpoint News Feed
D
Docker
D
DataBreaches.Net
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
T
Tenable Blog
V2EX - 技术
V2EX - 技术
The Register - Security
The Register - Security
V
Vulnerabilities – Threatpost
B
Blog RSS Feed

博客园 - 李明飞

C#设计模式之我见(四)Ⅱ C#设计模式之我见(四)Ⅰ C#设计模式之我见(三)Ⅲ C#设计模式之我见(三)Ⅱ C#设计模式之我见(三)Ⅰ C#设计模式之我见(二)Ⅰ C#设计模式之我见(一) 面向对象编程之重用、继承、多态、抽象 初探SilverLight 2.0的安装和部署 工作小札,生活一杯羹! “管家婆”的好帮手——我的理财小管家 类库DLL属性说明和正确使用App_Code中类的静态成员 冬日糊辣汤 以前的面试题(二) 以前的面试题 SQL Server 2005新特性之感悟 招聘高级网页设计师(北京) 知识点滴(打油篇) Web Services 的设计和模式
C#设计模式之我见(二)Ⅱ
李明飞 · 2011-06-26 · via 博客园 - 李明飞

下面介绍一下建造者模式(Builder Pattern),代码实例如下:
Builder
public abstract class Builder
     {
          public abstract void BuildDoor();
          public abstract void BuildWall();
          public abstract void BuildWindows();
          public abstract void BuildFloor();
          public abstract void BuildHouseCeiling();
      
          public abstract House GetHouse();
     }

Director类:
public class Director
   {
      public void Construct(Builder builder)
       {
            builder.BuildWall();
            builder.BuildHouseCeiling();          
            builder.BuildDoor();
            builder.BuildWindows();
            builder.BuildFloor();         
       }
     }

ChineseBuilder类:
public class ChineseBuilder:Builder
      {
         private House ChineseHouse = new House();
          public override void BuildDoor()
          {
              Console.WriteLine("this Door 's style of Chinese");
          }
          public override void BuildWall()
          {
             Console.WriteLine("this Wall 's style of Chinese");
         }
         public override void BuildWindows()
         {
             Console.WriteLine("this Windows 's style of Chinese");
         }
         public override void BuildFloor()
         {
             Console.WriteLine("this Floor 's style of Chinese");
         }
         public override void BuildHouseCeiling()
         {
             Console.WriteLine("this Ceiling 's style of Chinese");
         }
         public override House GetHouse()
         {
             return ChineseHouse;
         }
     }

阅读全文

posted @ 2011-06-26 12:26  李明飞  阅读(376)  评论()    收藏  举报