Tôi có thể cho bạn 2 xu, xin lỗi nếu câu trả lời của tôi dài một chút.
Nếu bạn có xung đột tầng của loại này, có thể do cách tiếp cận tầng hoặc mô hình miền của bạn không được xác định rõ. Tôi sẽ cẩn thận để khái quát một chiến lược xếp tầng thành một đồ thị tổng thể hoặc một tập hợp các phần tử không liên quan.
Lời khuyên của tôi là chiến lược xếp tầng chỉ nên được sử dụng trên tập hợp dữ liệu gắn chặt với nhau, và cùng loại, như cho lớp và các lớp bên trong (riêng) trong thế giới java. Mối quan hệ giữa lớp mẹ và con của nó cũng phải là độc quyền (trong UML nó được gọi là Hiệp hội không chia sẻ). Tất nhiên bạn có thể làm khác (tất cả chúng ta có thể lười biếng), nhưng cuối cùng bạn có thể tạo ra một trang web liên kết giữa lưu lượng duy nhất của bạn (hoặc cấu hình kiên trì) và dòng chảy kinh doanh của bạn. Bạn sẽ phải quản lý rất nhiều ngoại lệ và thực hiện rất nhiều cấu hình logic xung quanh chiến lược xếp tầng mà bạn đã đặt trước đó (lưu, cập nhật, xóa).
Cách tiếp cận cực đoan là một số có thể chỉ muốn lưu một đối tượng gốc lớn. Tại sao không? phần còn lại "nên tồn tại trong thác". Nhưng trên thực tế, điều này có thể hạn chế nghiêm trọng khả năng bảo trì của hệ thống của bạn. Hơn nữa, bạn có thể phải quản lý trạng thái của biểu đồ lớn trong bộ nhớ, khi tải, lưu và hợp nhất nó.
Nếu bạn làm một ứng dụng web, hoặc bất kỳ ứng dụng máy khách nào, luồng công việc trên web của bạn sẽ có thể lưu một bộ đối tượng giới hạn ở mỗi yêu cầu mà không phải lưu mọi thứ từ phần tử gốc. Tôi biết tôi không trả lời trực tiếp câu hỏi của bạn. Vì vậy, hãy quay lại ví dụ của bạn:
Giả sử P là một Ngân hàng và C1 và C2 là hai Khách hàng và A là Sản phẩm.
Tôi có hai câu trả lời dễ dàng: 1) Mỗi lớp có thể được lưu riêng mà không cần phải xếp tầng. Nhưng nó có thể được thực hiện bên trong cùng một giao dịch, và trong cùng một DAO hay không nếu bạn muốn.
2) P và C "có thể" được xếp chồng. Nhưng A phải được lưu trong một quy trình làm việc khác.
này nhắc tôi nhớ đến một chương của Peter Coad nơi ông nói về một "miền Phân tích Driven": http://www.petercoad.com/download/bookpdfs/jmcuch01.pdf
Chương này giải thích như thế nào đối tượng khác nhau trong một đồ thị có thể được tách ra trong các nguyên mẫu khác nhau. Luồng công việc bền bỉ không nên giống nhau giữa dữ liệu giao dịch và mô tả hoặc "điều". Điều này có thể giúp đưa ra chiến lược xếp tầng tốt hơn:
The four archetypes of Peter Coad are:
- Is it a moment or interval?
- Is it a role played?
- Is it a catalog-entry-like description?
- Otherwise, it's a party, place, or thing.
Tôi hy vọng điều đó sẽ hữu ích.