รูปแบบการออกแบบ GOF ใดที่มีการใช้งานแล้วเป็นคุณสมบัติภาษาชั้นหนึ่งใน C #?


10

(คำถามนี้ถูกปิดใน Stack Overflow เนื่องจากเป็น "กว้างเกินไป" และ "ไม่ใช่คำถามจริง" ดังนั้นอาจเหมาะสมกว่าหรือไม่)

แรงบันดาลใจจากคำถามนี้ เรารู้ว่าเหตุการณ์ต่าง ๆ เป็นการนำภาษาไปใช้ในรูปแบบของผู้สังเกตการณ์ มีรูปแบบการออกแบบอื่น ๆ ที่ใช้งานเป็นภาษาใน C # หรือไม่ ฉันต้องการเก็บคำถามนี้ C # - เฉพาะเพราะมีรูปแบบการออกแบบจำนวนมากถูกนำไปใช้ในภาษาอื่นและฉันต้องการรักษาจุดเน้นนี้

ฉันไม่ได้มองหาการปรับใช้รูปแบบใน BCL (เช่นมัณฑนากรในคลาส WCF หรือวิธีการของโรงงานWebClient) แต่เป็นรูปแบบระดับภาษา

จนถึงตอนนี้ฉันตระหนักถึงผู้สังเกตการณ์ ( event) และตัววนซ้ำ ( foreachเมื่อรวมกับคลาสและอินเตอร์เฟส BCL จำนวนมาก) อาจมีสิ่งที่ชัดเจนอื่น ๆ ที่ฉันหายไป

คำตอบ:


1

ผู้ได้รับมอบหมายเป็นรูปแบบกลยุทธ์โดยพฤตินัย


ตลกเมื่อวานนี้มีเพื่อนร่วมงานคนหนึ่งกำลังบอกว่าผู้ได้รับมอบหมายดำเนินการตามรูปแบบคำสั่ง ขึ้นอยู่กับว่าคุณจะมองผมคิดว่า (คำสั่ง AFAIK ควรแค็ปซูขัดแย้งเช่นกัน แต่ในกรณีของวิธีการโดยไม่ขัดแย้ง .. )
Stijn

1
ฉันจะไม่พูดว่าผู้ได้รับมอบหมายคือการนำรูปแบบคำสั่งมาใช้อย่างน้อยที่สุดฉันไม่เห็นว่าคุณจะใช้สิ่งต่าง ๆ เช่นเลิกทำ / ทำซ้ำโดยใช้ผู้ได้รับมอบหมายเท่านั้น พวกเขาอาจเป็นส่วนหนึ่งของวัตถุคำสั่ง แต่นั่นเป็นอีกเรื่องหนึ่ง
Homde

0

วิธีการขยายเป็นนามธรรมของรูปแบบมัณฑนากร


ไม่ได้จริงๆ มัณฑนากรช่วยให้เราสามารถสร้างวัตถุในเวลาทำงานเพื่อเพิ่มข้อมูลและพฤติกรรม
Martin Doms

1
จริง - ดังนั้นพวกมันจึงไม่ค่อยมีประโยชน์เหมือนกับลวดลายของนักตกแต่ง จะเป็นการดีกว่าไหมถ้าจะบอกว่าปัญหาส่วนใหญ่ที่แก้ไขโดยวิธีการต่อขยายได้รับการแก้ไขด้วยมัณฑนากรในภาษาอื่น ๆ ?
vstrien
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.