ฉันจะบอกว่าบล็อกของ Noel Llopisน่าจะเป็นคำแนะนำที่ดีที่สุดสำหรับการผสมผสานการเขียนโปรแกรมเชิงวัตถุและการออกแบบเชิงข้อมูล เขาเป็นหนึ่งในผู้เริ่มต้นของคำ DOD เป็นโปรแกรมเมอร์ C ++ ที่แข็งแกร่งและได้เขียนข้อตกลงที่ดีเกี่ยวกับสไตล์ของเขาและวิธีที่เขาใช้ประโยชน์จากคุณสมบัติ OO ของ C ++
ฉันเดาว่าถ้าฉันจะเรียกองค์ประกอบสำคัญของการรวมพวกเขาตาม Noel:
- ใช้ POD และไม่ใช่สมาชิกฟังก์ชั่นที่ไม่ใช่เพื่อนให้มากที่สุด ฟังก์ชั่นที่ไม่ใช่สมาชิกและไม่เป็นเพื่อนปรับปรุงการห่อหุ้มและเป็นส่วนสำคัญของการวางแนวข้อมูลเพราะพวกเขาเก็บข้อมูลข้อมูล
- หลีกเลี่ยงการเก็บสถานะ "ชั่วคราว" ไว้บนวัตถุของคุณ สถานะชั่วคราวอุดตันข้อมูลของคุณ หากคุณต้องการแคชบางสิ่ง (เช่นเพื่อประสิทธิภาพ) นั่นจะเป็นของคลาสใหม่ที่มีฟังก์ชันที่ไม่ใช่สมาชิกที่ไม่ใช่สมาชิกที่เชื่อมโยงทั้งสองประเภทไม่ใช่ความสัมพันธ์แบบ is-a และ a-a
- หลีกเลี่ยงวัตถุที่อาจอยู่ในสถานะ A หรือรัฐ B ชอบสลับไปมาระหว่างวัตถุสองวัตถุหนึ่งในนั้นคือ A และหนึ่งในนั้นคือ B
- หลีกเลี่ยงความแตกต่างหลีกเลี่ยงฟังก์ชั่นเสมือนหลีกเลี่ยงแม่แบบหลีกเลี่ยงสิ่งใดก็ตามที่ทำให้ข้อมูลของคุณมีลักษณะเหมือนกันของความเหมือนจริงมากกว่าความเหมือนจริง
ชื่อใหญ่อื่น ๆ ในโฆษณาชวนเชื่อ DOD ในขณะนี้คือ Mike Acton of Insomniac แต่การอ่านสิ่งที่เขาเขียนฉันจะบอกว่าเขาไม่ใช่ pro-OO จริงๆ (หรือ anti-OO ตราบใดที่ยังเน้นข้อมูล)