Editing 实现模式‐参考数据同步访问 - CassiniLaw/KnowledgeBase GitHub Wiki
以下部分由元元方生成,代码不允许修改。
此实现模式是描述参考数据实现数据访问和存储的实现部分。其中的ClientCompany是一个在系统中经常被其他对象引用的参考对象。Find是其中的某一个方法。
classDiagram
namespace Entities {
class ClientCompanyEntity {
<<Reference>>
+string Name
}
}
Invoker ..> ClientCompanyEntity : 参考数据同步访问IClientCompanyService.Find()
classDiagram
namespace Entities {
class ClientCompanyEntity {
<<Reference>>
+string Name
}
}
namespace Services {
class ServiceFactory {
+ServiceFactory Intance$
+Register(IService)
+IService Get(Type)
}
class IService {
<<interface>>
}
class IClientCompanyService {
<<interface>>
+ClientCompanyEntity Find(...)
}
class ClientCompanyService {
+ClientCompanyEntity Find(...)
}
}
namespace Daos {
class DaoFactory {
+DaoFactory Intance$
+Register(IDao)
+IDao Get(Type)
}
class IDao {
<<interface>>
}
class IClientCompanyDao {
<<interface>>
+ClientCompanyEntity Find(...)
}
class ClientCompanyDao {
+ClientCompanyEntity Find(...)
}
}
direction RL
Invoker ..> ServiceFactory
Invoker ..> IService
ServiceFactory ..> IService
IClientCompanyService --|> IService
ClientCompanyService ..|> IClientCompanyService
DaoFactory ..> IDao
IClientCompanyDao --|> IDao
ClientCompanyDao ..|> IClientCompanyDao
ClientCompanyService ..> DaoFactory
IClientCompanyService ..> ClientCompanyEntity
IClientCompanyDao ..> ClientCompanyEntity
sequenceDiagram
participant Invoker
box Services
participant ServiceFactory.Instance
participant ClientCompanyService
end
box Daos
participant DaoFactory.Instance
participant ClientCompanyDao
end
box Rntities
participant ClientCompanyEntity
end
opt If IClientCompanyService == null
Invoker ->> ServiceFactory.Instance : Get(IClientCompanyService)
ClientCompanyService -->> Invoker : Return and instance of IClientCompanyService
end
Invoker ->> ClientCompanyService : Find()
ClientCompanyService ->> DaoFactory.Instance : Get(IClientCompanyDao)
ClientCompanyDao -->> ClientCompanyService : Return and instance of IClientCompanyDao
ClientCompanyService ->> ClientCompanyDao : Find()
ClientCompanyEntity -->> ClientCompanyService : Return and instance of ClientCompanyEntity
ClientCompanyService -->> Invoker : Return and instance of ClientCompanyEntity