从图上我们可以看出我们的builder接口中有两个builderpart方法a、b,以及一个getresult方法用来返回创建的对象。将我们用concretebuilder1和concretebuilder1实现接口的时候我们分别在其中加入了一个private的对象,用来返回建立好的对象,在该实例的内部则是经过了两步才完成了product对象的初始化。我们建立的product是由一个hashtable组成,可以添加和显示自己的每一个部分(就是hashtable里面的每一个键/值)。好了不废话了看看下面的实现代码,在winform中调试通过,你可以参看本系列的abstractfactory文章找到里面的相关表现对象(richtextbox)。
代码中有少量的注释是为了更好的理解。
using system;
namespace builder_me{
using system.collections;