لماذا التظليل يمتلك ديناميكية بدلا من تعدد الأشكال الثابتة؟
-
12-11-2019 - |
سؤال
أنا في عملية تعلم C ++ الحديثة والتركيز على مصنع مجردة في الوقت الحالي، ومن ما أفهمه، أحد الأفكار الرئيسية ل Loki هو تجنب "الظاهري" (تعدد الأشكال الديناميات) المستخدمة في GOFوبعدولكن في بعض الأحيان، لا يزال يستخدم.في الفصل على مصنع مجردة، التاجدافليونيت لديه "افتراضي". http:// loki-lib.cvs.sourceforge.net / loki-lib / loki / acember / loki / abstractactory.h؟ http://en.wikipedia.org/wiki/template_metaprogramming#static_polymorphism
لماذا هو أكثر فعالية لاستخدام الظاهري في هذه الحالة؟
المحلول
منذ أن تبدو أهداف Loki
تعليمية بشكل أساسي، أود أن أقول قد تم تجنب تعدد الأشكال الثابتة فقط من أجل الوضوح. عند تعليم نمط التصميم مثل مصنع مجردة، فإن العلاقات بين الفصول هي الجانب الأكثر أهمية. كيف يتم تنفيذ أوليموراتفية مثل القضية الثانوية والتنفيذ في هذا السياق.
صحيح، قد يكون تعدد الأشكال الساكنة أكثر كفاءة، لكنه يقلل من قابلية لقراءة التعليمات البرمجية.
قد تجادل أنه إذا كنت تقوم بإنشاء أشياء كبيرة في كثير من الأحيان، فستستفيد من استخدام الأشكال الثابتة الثابتة. وهذا صحيح جدا، لكنني أعتقد أنه لا يقصد loki استخدامها في مثل هذا السيناريو. الغرض الرئيسي هو التدريس.
إلقاء نظرة على شفرة المصدر تعزيز. المصنع ، قد يساعد ذلك. في الواقع، كنت أفضل دراسة C ++ الحديثة من التعزيز شفرة المصدر؛ صحيح، يقال إن لوكي قد وضعت الأسس للحصول على دفعة، ولكن ضع في اعتبارك أن دفعة اكتسبت طريقة أكثر استخداما وبالتالي استعرضت وسيلة أكثر.