天天看點

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

<b>ObjectBuilder</b><b>之建立政策祥解</b><b>(</b><b>二</b><b>)</b> <b>       </b>

<b>                                                                      </b><b>-</b><b>Written by </b><b>浪子</b><b>     </b>

<b>2</b><b>、單件執行個體政策(</b><b>SingletonStrategy</b><b>):</b>

<b> </b>

<b>       </b><b>預備知識:</b>

<b>              </b>在使用單件執行個體政策(SingletonStrategy),必需要先了解ObjectBuilder的另2個子產品:

A、 定位器Locator:

<b>B、</b>生存周期ILifetimeContainer:

LifetimeContainer主要用來跟蹤對象的生存周期,負責對象的銷毀動作。我們在這裡隻要将它當成一個簡單的對象容器來用就可以了,類似Hashtable。

<b>       </b>

<b>單件執行個體政策:</b>

<b>       </b><b>政策方針:</b>

<b>       </b>

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

public class SingletonPolicy : ISingletonPolicy

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

{

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

   private bool isSingleton;

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

   public SingletonPolicy(bool isSingleton)

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

      this.isSingleton = isSingleton;

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

   }

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

   public bool IsSingleton

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

      get 

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

{ return isSingleton; }

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

}

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

可見SingletonPolicy很簡單隻是設定了一個辨別。這個辨別将在對象建立中決定是否采用單件執行個體政策

       <b>單件政策:</b>

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

public class SingletonStrategy : BuilderStrategy

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

    public override object BuildUp(IBuilderContext context, Type typeToBuild, object existing, string idToBuild)

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        DependencyResolutionLocatorKey key = new DependencyResolutionLocatorKey(typeToBuild, idToBuild);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        //目前定位器不能為空,并且定位目前節點包含此對象

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        if (context.Locator != null &amp;&amp; context.Locator.Contains(key, SearchMode.Local))

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            TraceBuildUp(context, typeToBuild, idToBuild, "");

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            //傳回在定義器目前節點中key值符合的對象

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            return context.Locator.Get(key);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        }

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        //沒有則,繼續執行一步建立政策

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        return base.BuildUp(context, typeToBuild, existing, idToBuild);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

    }

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

我想細心的你一定發現了,這裡面跟TypeMappingStrategy中不一樣的地方了:

SinglotenPolicy不見了?那是否SinglotenStrategy不需要具體方針呢?起初我也這樣認為,後來發現錯了。

我們将眼光跳到CreationStrategy,我發現對象建立完之後會執行RegisterObject,将對象注冊到定位器&生存周期容器裡面。

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

private void RegisterObject(IBuilderContext context, Type typeToBuild, object existing, string idToBuild)

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

    if (context.Locator != null)

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        ILifetimeContainer lifetime = context.Locator.Get&lt;ILifetimeContainer&gt;(typeof(ILifetimeContainer), SearchMode.Local);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        //設定了對象生存周期容器

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        if (lifetime != null)

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            SingletonPolicy singletonPolicy = context.Policies.Get&lt;ISingletonPolicy&gt;(typeToBuild, idToBuild);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            //看這裡用到了單件執行個體的具體方針,并确判斷是否要啟用單件執行個體

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            if (singletonPolicy != null &amp;&amp; singletonPolicy.IsSingleton)

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

                //注冊到上下文的定位器

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

                context.Locator.Add(new DependencyResolutionLocatorKey(typeToBuild, idToBuild), existing);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

                //注冊到對象生存周期容器

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

                lifetime.Add(existing);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

                if (TraceEnabled(context))

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

                    TraceBuildUp(context, typeToBuild, idToBuild, Properties.Resources.SingletonRegistered);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            }

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

這裡好像顯得有點藕斷絲連了,因為單件執行個體的政策方針跑到建立政策裡面去起作用了:)。

    先不管是否是松耦合,不過也可以看出,ObjectBuilder對象的建立政策如何起作用都是通過各自相對的具體方針決定的。

<b>應用執行個體:</b>

具體代碼如下:

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

using System;

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

using System.Collections.Generic;

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

using System.Text;

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

using Microsoft.Practices.ObjectBuilder;

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

namespace TestBuilder

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

    class Program

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        static void Main(string[] args)

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            IReadWriteLocator locator;

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            Builder builder = new Builder();

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            PolicyList policyList = new PolicyList();

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            policyList.Set&lt;ITypeMappingPolicy&gt;(new TypeMappingPolicy(typeof(MyConcreteClass), "myclass"), typeof(MyAbstractClass), "myclass");

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            policyList.Set&lt;ISingletonPolicy&gt;(new SingletonPolicy(true), typeof(MyConcreteClass), "myclass");

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            locator = new Locator();

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            LifetimeContainer lifetime = new LifetimeContainer();

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            locator.Add( typeof(ILifetimeContainer),lifetime);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            Console.WriteLine("-----------------------");

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            Console.WriteLine(" 第一次建立對象:");

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            MyAbstractClass myclass = builder.BuildUp&lt;MyAbstractClass&gt;(locator, "myclass", null, policyList);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            myclass.Base = "是我啊,還是我!";

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            Console.WriteLine(myclass.GetType().ToString());

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            Console.WriteLine(myclass.Base);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            Console.WriteLine(" 第二次建立對象:");

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            MyAbstractClass myclass2 = builder.BuildUp&lt;MyAbstractClass&gt;(locator, "myclass", null, policyList);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            Console.WriteLine(myclass2.GetType().ToString());

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            Console.WriteLine(myclass2.Base);

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            Console.ReadLine();

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

    public abstract class MyAbstractClass

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        private string mBase;

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        public string Base

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            get 

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

{ return this.mBase; }

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

            set 

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

{ this.mBase = value; }

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

    public class MyConcreteClass : MyAbstractClass

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        //

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

        private string mTest;

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

<b></b>

 看到這裡,我想你應該知道如何應用它,或者你也知道你能怎麼去用它了。

 比如維護一個類似全局變量的對象集合?

    Updated @ 2006.07.04

最近在做Web MVP架構的搭建,準備使用ObjectBuilder來組織對象的建立.

重溫了一下ObjectBuilder的單件政策.用自己的了解自己的語言總結了一下:

建立一個對象,并把他緩存起來(對象池,類似連接配接池),等下一次需要建立相同對象的時候,再把這個對象取出來,而不是重新建立一個.(此時有一個疑問,如果是引用類型的,舊對象中的修改是否會影響到後面再次利用的對象的值)

<b>ObjectBuilder</b><b>之建立政策祥解</b><b>(</b><b>二</b><b>)</b> <b>       </b><b></b>

<b>2</b><b>、單件執行個體政策(</b><b>SingletonStrategy</b><b>):</b><b></b>

<b>       </b><b>預備知識:</b><b></b>

<b>B、</b>生存周期ILifetimeContainer:<b></b>

<b>單件執行個體政策:</b><b></b>

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

<b>應用執行個體:</b><b></b>

[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)
[浪子學程式設計][MS Enterprise Library]ObjectBuilder之建立政策祥解(二)

本文轉自浪子部落格園部落格,原文連結:http://www.cnblogs.com/walkingboy/archive/2006/04/29/IoC_ObjectBuilder_Singleton.html,如需轉載請自行聯系原作者

繼續閱讀