Thursday, May 14, 2009

Factory of Factory

Một ma trận Dependency Injection. Tạo một DAORegitry như đầu vào duy nhất để nhận các DAO. Cài đặt nó như một Singleton/Factory pattern. Và để tiêm object vào DAORegistry, lại tiếp tục dùng một DAOFactory nữa.

Chúng ta cần một cái nhà máy để xây nhà máy!

  <object id="dao.Registry" type="Ste.DAL.Impl.DAORegistry, Ste.DAL.Impl" abstract="false" singleton="true">
    <property name="DocumentDAO" ref="dao.Document"/>
    <property name="FolderDAO" ref="dao.Folder"/>
    ...
  </object>

  <object id="dao.Document"
          type="Ste.DAL.DAOFactory, Ste.DAL"
          factory-method="GetDAO&lt;Ste.DAL.IDocumentDAO>"/>
  <object id="dao.Folder"
          type="Ster.DAL.DAOFactory, Ste.DAL"
          factory-method="GetDAO&lt;Ste.DAL.IFolderDAO>"/>


No comments: