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<Ste.DAL.IDocumentDAO>"/>
<object id="dao.Folder"
type="Ster.DAL.DAOFactory, Ste.DAL"
factory-method="GetDAO<Ste.DAL.IFolderDAO>"/>
No comments:
Post a Comment