سؤال

لقد قرأت مؤخرا عن boost::statechart مكتبة (آلات الحالة المحدودة) وقد أحببت هذا المفهوم.

هل لدى C# آلية مماثلة؟أم يمكن تنفيذها باستخدام نمط تصميم معين؟

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

المحلول

نعم، C # لديها كتل مكرر التي هي أجهزة الدولة ولدت مترجم.

إذا كنت ترغب في تنفيذ لكم آلة الدولة الخاصة يمكنك إنشاء تطبيقات مخصصة للIEnumerable<T> وIEnumerator<T> الواجهات.

وكلا من هذين النهجين تسليط الضوء على تنفيذ صافي الإطار من خلال نمط مكرر .

نصائح أخرى

و. NET 4 التحديث 1 يدعم الآن في الطبقة التالية: System.Activities.Statements.StateMachine

وهنا هو البرنامج التعليمي على كيفية استخدامها . وهنا يدي على مختبر .

مؤسسة سير العمل (.NET 3.0) لديه آلة سير العمل الدولة. 4.0 لا يكون بالضبط نفس الشيء حاليا، ولكن يمكنك بالتأكيد إنشاء سير عمل جهاز الدولة باستخدام 4.0.

وأنا الحفاظ على مشروع مفتوح المصدر الذي ينفذ (من بين أمور أخرى) آلة الدولة المحدودة عامة ل.NET. هو مبني على رأس QuickGraph ، حتى تحصل على العديد من خوارزميات تحليل الرسم البياني مجانا.

هذه الصفحة للحصول على مزيد من المعلومات حول المشروع، وعلى وجه التحديد "<لأ href =" HTTP: / /jolt.codeplex.com/wikipage؟title=Jolt.FSM "يختلط =" نوفولو noreferrer "> Jolt.Automata: محدود ماكينات الدولة ". لمزيد من المعلومات حول ميزة

تحقق من عديمي الجنسية -> http://code.google.com/p/stateless/.إنه بديل خفيف الوزن للصندوق العالمي للطبيعة الأثقل.

إليك بعض المقالات لمؤلف الأداة:

أجهزة الحالة في نماذج المجال

المحفزات ذات المعلمات وحالات إعادة الدخول في حالة عديمي الجنسية

والأشياء التي تأتي بالقرب من FSMS هي سير العمل في. NET 3.5، ولكن، أيضا سير العمل ليست بالضبط FSMS.

وقوة باستخدام FSMS هو أنه يمكنك إنشائها على صراحة في التعليمات البرمجية الخاصة بك، وبعد فرصة أقل من خلق البق. الى جانب ذلك، بالطبع بعض الأنظمة FSMS بطبيعتها، ولذلك فمن أكثر طبيعية إلى رمز لهم مثل ذلك.

ومؤسسة سير العمل ويندوز (WF) التي هي جزء من مكتبة الفئة الأساسية في 3.0 و 3.5 يتضمن تصميم دولة آلة سير العمل لإدارة أجهزة الدولة للتطبيقات الخاصة بك.

ولقد إعادة كتابة انهم تماما العمل من أجل إطلاق سراح 4.0 القادم، وفئات جديدة WF 4.0 لا تدعم أصلا، أجهزة الدولة، ولكن كل من 3.0 / 3.5 الطبقات لا تزال معتمدة بالكامل تحت 4.0.

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