5
ตามกฎหมายของ Demeter ชั้นเรียนได้รับอนุญาตให้ส่งคืนหนึ่งในสมาชิกหรือไม่
ฉันมีสามคำถามเกี่ยวกับกฎหมายของ Demeter นอกเหนือจากคลาสที่ได้รับการแต่งตั้งเป็นพิเศษเพื่อส่งคืนวัตถุ - เช่นคลาสจากโรงงานและตัวสร้าง - มันไม่เป็นไรสำหรับวิธีการส่งคืนวัตถุเช่นวัตถุที่จัดขึ้นโดยคุณสมบัติอย่างใดอย่างหนึ่งของชั้นเรียนหรือจะละเมิดกฎของ demeter (1) ? และถ้ามันละเมิดกฏหมายของ demeter มันจะสำคัญไหมถ้าวัตถุที่ส่งคืนนั้นเป็นวัตถุที่ไม่เปลี่ยนรูปซึ่งแสดงถึงชิ้นส่วนของข้อมูลและไม่มีอะไรเลยนอกจาก getters สำหรับข้อมูลนี้ (2a) หรือ ValueObject นั้นมีรูปแบบการต่อต้านในตัวเองเพราะทุกอย่างที่ทำกับข้อมูลในคลาสนั้นถูกทำนอกคลาส (2b) หรือไม่ ในรหัสหลอก: class A {} class B { private A a; public A getA() { return this.a; } } class C { private B b; private X x; public void …