سؤال

أفكر في تنفيذ برنامج مع OOP Automaton بلغة OOP مثل Java أو C ++.

ما رأيك هو أفضل طريقة لتنفيذ هذا مع كمية يمكن التحكم فيها من الحالات المتاحة ، فيما يتعلق بتصميم البرمجيات الجيدة؟

هل من الجيد تنفيذ كل ولاية فئة خاصة؟ إذا كانت الإجابة بنعم ، كيف تفعل الجسر بين دولتين؟

شكرا على أي تعليق!

هل كانت مفيدة؟

المحلول

هل هذا فقط لاستعراض عضلة البرمجة الخاصة بك ، أم لمشروع فعلي وما إلى ذلك؟ في كلتا الحالتين ، يعتمد ذلك على ما تريده لآلة الحالة: - هل من إدارة المهام في نوع من سير العمل - هل هو تحديد حالة تدفق التطبيق - هل هو لمحرك قواعد العمل وما إلى ذلك

في حالة المشروع ، أود أن أقترح أنه ، بناءً على ما هو استخدامك المستهدف ، تبحث عن المكتبات في هذا المجال. على سبيل المثال ، يحتوي Java على العديد من المكتبات لتدفقات سير العمل/الحافلات ، بالإضافة إلى الكثير من محركات القواعد (يتبادر إلى الذهن بشكل صحيح ، على الرغم من أنه عملاق معقد)

نصائح أخرى

جرب هذا - قسم التصميم جيد ويظهر استخدامًا لـ FSMhttp://www.ibm.com/developerworks/library/wa-finitemach1/

استخدام آخر رأيته هو تنفيذ الكائنات المدارة لخدمة الكمبيوتر ، مع انتقال "بدء" نقل الكائن من "Down" إلى حالة "البدء" وما إلى ذلك باستخدام extennsion من دورة حياة الكائن المدارة OMG

ال DK.BRICS.AUTOMATON المكتبة هي تنفيذ جيد لـ FSA's في Java. إنه يبني مع وضع الأداء في الاعتبار ، لذلك يتداول في بعض مبادئ OOP للسرعة ، لكنني أوصيك بإلقاء نظرة عليه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top