Tôi có 1 giao diện:Factory để tạo các đối tượng khác nhau của cùng một giao diện
public interface ISummary
{
int EventId {get; set;}
}
Và nhiều lớp bê tông mà thực hiện giao diện này:
public class EmployeeSummary : ISummary
{
public int EventId {get; set;},
public int TotalUniqueCount {get; set;}
public int Location {get; set;}
}
public class CarSummary : ISummary
{
public int EventId {get; set;}
public int TotalMiles {get; set;}
public int TotalHours {get; set;}
}
vv ....
duy nhất tài sản được chia sẻ là EventId
. Có cách nào để có phương pháp nhà máy 1 tạo ra tất cả các đối tượng tóm tắt này không? Tôi muốn 1 điểm vào để quyết định đối tượng nào cần tạo.
Vì vậy, một cái gì đó như:
public ISummary CreateSummary(ConcreteObjectType with properties)
{
if EmployeeSummary
--Call this method to create and return EmployeeSummary
if CarSummary
--Call this method create and return CarSummary
}
Tôi muốn tất cả các cuộc gọi trong các lớp khác để gọi phương pháp này thay vì tạo ra các đối tượng bản thân.
Phần tôi đang gặp phải là làm cách nào để chuyển thuộc tính để gán cho các đối tượng cho phương thức CreateSummary
này vì tất cả các thuộc tính trên các đối tượng sẽ khác nhau?
Tôi cũng đang mở để thay đổi các đối tượng tại thời điểm này nếu có mẫu thiết kế tốt hơn mà tôi nên sử dụng ở đây.
bạn một phương pháp nhà máy chung với một đại biểu hành động để cư các thuộc tính bạn muốn – Nkosi