2012-02-07 29 views
6

Trong công việc của tôi (90% Java nhưng tôi chắc chắn câu hỏi này áp dụng cho các ngôn ngữ khác), tôi thường tạo hai lớp "biết" về nhau. Cụ thể hơn, lớp A nhập khẩu B và lớp B nhập khẩu loại A và cả hai đều có biến thành viên hoặc biến cục bộ của loại khác.Các phụ thuộc vòng tròn có được coi là thiết kế tồi không?

Đây có phải là thiết kế tồi không? Một anti-pattern nếu bạn sẽ?

+1

dupe [Các phụ thuộc lớp vòng tròn có tệ từ quan điểm kiểu mã hóa không?] (Http://stackoverflow.com/questions/1356304) –

+1

http://stackoverflow.com/questions/1897537/why-are -circular-dependencies-considered-toxic – Pup

+0

Câu hỏi đó là về tham chiếu vòng tròn, các đối tượng tham chiếu đến nhau và không phụ thuộc vào lớp –

Trả lời

4

Đây là quan điểm của tôi:

  • Nếu hai lớp thuộc về các module logic tương tự, sau đó nó có thể là tốt (vẫn còn một cuộc gọi phán quyết tất nhiên, với rất nhiều khu vực màu xám).
  • Sẽ tốt hơn nếu hai lớp thuộc các mô-đun khác nhau. Điều này tạo ra sự phụ thuộc vòng tròn giữa các mô-đun. Tôi cố gắng tránh điều đó càng nhiều càng tốt, thích một cấu trúc phân cấp rõ ràng hơn.
1

Có, Thiết kế xấu, Nó mâu thuẫn với các nguyên tắc oop, Có vẻ như bạn phải tạo một lớp hoặc giao diện mới sẽ chứa các tham số và hàm chia sẻ cho a và b, a và b nhập lớp mới này. ..

+0

Không phải lúc nào cũng đúng. – Pup

Các vấn đề liên quan