• 设计的模式总是帮助设计解决一再出现的问题。 但是设计模式的概念和太通用的。 该框架的另一方面是更多的特定的特定领域,可以实现通过代码。 国家模式是一个非常有用的和强有力的模式,能够使对象以改变其行为在运行时,取决于哪个国家。 一种更改类物体在运行时间了。 你可以找到更多的信息,这种设计图案在这里。

    如果你知道还有这个图案你可能已经意识到,它需要有很多类,每个代表的国家的对象可能在其生活的时间。 真正的对象,通常称为方面,没有任何内部标志或变量跟踪的当前状态,而不是它代表的工作的国家对象,这是目前活跃。 国家对象的联系的背景下回来,要做到适当的工作,如果需要,可能会改变自己的状态。 这是更好地保持所有执行代码在背景和国家的对象只会照顾的方法来援引上下文中及时变化的状态。

    一个对象,这是一种封装的一个现实世界实体,可能具有许多国家在其寿命,以及它是绝对难以编写课程对每个国家和过渡逻辑。 国家图用来描绘的行为对象的各种国家及其过渡的逻辑。 它由程序员实现设计。 当然每个程序员有他们自己的方式实施。 这导致一致的代码,难以审查,难以测试和难以维持。

    这一事实、积极主动的设计师的SmartState制定一个框架,该框架是通用的,可用于在几乎所有应用领域。 这个框架内解决了些问题上所述,仍然主要部分编写的课程。 因此,我们意识到需要自动代码生成的设计。 为实现这一目标,国家图不应该抽,应该建模。 SmartState设计师GUI用户提供了一个简单和有效的用户界面模型的状态过渡。 特别注意避免把所有的限制在设计时间,因为它可以迭代的。 设计是免费模式和制约因素和限制仅适用于代码生成阶段,这使得GUI更多的用户友好。

    代码发电机将分析该模式,检查有必要约束和并最耗费时间的一部分编写的课程。 所产生的课程是准备编译并不需要修改。 这是一个非常重要的特征SmartState因为设计和执行是一个总是这通常是一个白日梦,在软件行业。

    改变行为的对象,只是编辑和重新编译模型。 重建项目和你做。 你可能不需要一个程序员做到这一点。 这使得更易于维护。 还产生的代码是相同的结构,审查和测试,不需要做一次你感到满意。 所有这些特性导致提高生产率在你的组织的动机SmartState的。

    这里是一些关键特征"SmartState":

    ·简单的图形建模者的对状态图。

    ·设计者和开发者可以在相同的工具。

    ·准备汇编C++/C/Java/C#代码。 没有脚本需要。

    ·强大的国家机器的框架。

    ·消息基础架构。 很容易整合。

    ·支持嵌套,超级和并行的国家。

    ·国家机可保留和重新初始化为同一国家。

    ·支持内部信息。

    ·自定义的代码生成。

    ·XML API对该模型进行进一步定制。

    限制:

    ·30启动

    什么是在这个新的版本:

    ·多种语言支持;SmartState室现在可以在:法语、德语、西班牙语和英语

  • डिजाइन पैटर्न हमेशा मदद करने के लिए डिजाइनरों को हल आवर्ती समस्याओं. लेकिन डिजाइन पैटर्न रहे हैं, वैचारिक और भी सामान्य है । ढांचे दूसरे हाथ पर अधिक विशिष्ट है के लिए एक विशेष डोमेन और महसूस किया जा सकता है के माध्यम से कोड. राज्य के पैटर्न है एक बहुत ही उपयोगी और शक्तिशाली पैटर्न सक्षम बनाता है जो एक वस्तु के लिए अपने व्यवहार को बदलने पर चलाने के समय पर निर्भर करता है, जो राज्य में है. एक प्रकार के वर्ग बदलने के लिए एक वस्तु पर चलाने के लिए समय!!. आप पा सकते हैं के बारे में अधिक जानकारी इस डिजाइन पैटर्न यहाँ है ।

    यदि आप जानते हैं इस पैटर्न हो सकता है आप का एहसास करने की जरूरत है कि कई वर्गों, प्रत्येक का प्रतिनिधित्व करता है एक राज्य वस्तु हो सकता है में अपने जीवन का समय है. असली वस्तु, अक्सर कहा जाता है के रूप में संदर्भ में, पकड़ नहीं करता है किसी भी आंतरिक झंडा या चर का ट्रैक रखने के लिए वर्तमान स्थिति, इसके बजाय यह के प्रतिनिधियों के काम करने के लिए राज्य चीज है जो वर्तमान में सक्रिय है । राज्य वस्तु संपर्कों के संदर्भ में, वापस करने के लिए उचित काम अगर जरूरत है और बदल सकता है प्रदेश में ही है । यह बेहतर है, सभी रखने के लिए कार्यान्वयन कोड संदर्भ में और राज्य की वस्तुओं केवल ख्याल रखना है, जो के विधि आह्वान करने के लिए संदर्भ में और जब स्थिति बदलने के लिए.

    एक वस्तु है, जो एक encapsulation के एक वास्तविक दुनिया की इकाई है, हो सकता है कई राज्यों में इसकी जीवन अवधि, और इसकी पूरी तरह से लिखने के लिए मुश्किल वर्गों के लिए प्रत्येक राज्य और संक्रमण तर्क है । राज्य आरेख इस्तेमाल कर रहे हैं चित्रित करने के लिए वस्तु के व्यवहार पर विभिन्न राज्य और इसके संक्रमण तर्क है । इसके अप करने के लिए प्रोग्रामर का एहसास करने के लिए डिजाइन है । और के पाठ्यक्रम प्रत्येक प्रोग्रामर ने अपने तरीके से इसे लागू करने की है । की ओर जाता है जो करने के लिए संगत कोड के लिए मुश्किल है, समीक्षा, परीक्षण करने के लिए मुश्किल और बनाए रखने के लिए मुश्किल है ।

    इस तथ्य को प्रेरित, डिजाइनरों के SmartState विकसित करने के लिए एक रूपरेखा है जो सामान्य है और में इस्तेमाल किया जा सकता लगभग सभी आवेदन डोमेन. इस ढांचे का हल कुछ समस्याओं के ऊपर वर्णित है और अभी भी प्रमुख हिस्सा लिखने के संस्थान छोड़ दिया है. इसलिए हम एक की जरूरत का एहसास के लिए स्वत: कोड पीढ़ी से डिजाइन. कि पूरा करने के लिए, राज्य के चित्र नहीं होना चाहिए तैयार किया जाना चाहिए, यह मॉडलिंग की है । SmartState डिजाइनर, जीयूआई के साथ उपयोगकर्ता प्रदान करता है एक सरल और प्रभावी यूजर इंटरफेस के लिए मॉडल के राज्य के संक्रमण. विशेष देखभाल ले लिया है डाल से बचने के लिए सभी डिजाइन में प्रतिबंध समय है, क्योंकि यह हो सकता है चलने की. डिजाइन मुक्त करने के लिए मॉडल और बाधाओं और प्रतिबंध लागू कर रहे हैं केवल में कोड पीढ़ी के मंच बनाता है जो जीयूआई और अधिक उपयोगकर्ता के अनुकूल है ।

    कोड जनरेटर का विश्लेषण करेगा मॉडल, जाँच के लिए आवश्यक की कमी है और सबसे अधिक समय लेने वाली भाग के लेखन कक्षाओं. उत्पन्न कक्षाओं के लिए तैयार कर रहे संकलित और नहीं की जरूरत है, संशोधित किया जा सकता है । यह एक बहुत ही महत्वपूर्ण सुविधा के SmartState क्योंकि डिजाइन और कार्यान्वयन है एक-से-एक हमेशा जो आमतौर पर एक दिन सपने में सॉफ्टवेयर उद्योग.

    व्यवहार को बदलने के लिए, बस संपादित करें और फिर कंपाइल करने दें. पुनर्निर्माण आपके परियोजना और आप कर रहे हैं. आप की जरूरत नहीं हो सकती एक प्रोग्रामर ऐसा करने के लिए. जो बनाता है यह और अधिक maintainable है । भी कोड उत्पन्न होता है की एक ही संरचना, समीक्षा और परीक्षण की जरूरत नहीं किया जा सकता है एक बार आप इसे से संतुष्ट हैं. इन सभी सुविधाओं के लिए नेतृत्व, उत्पादकता में सुधार में अपने संगठन है जो प्रेरणा के SmartState.

    यहाँ कुछ प्रमुख विशेषताएं हैं की "SmartState":

    · सरल ग्राफिक मॉडलर के लिए राज्य के चित्र ।

    · डिजाइनर और डेवलपर्स पर काम कर सकते हैं एक ही उपकरण है ।

    · तैयार संकलन करने के लिए C++ / सी / जावा / सी# कोड. कोई पटकथा की आवश्यकता है ।

    · मजबूत राज्य मशीन ढांचे.

    · संदेश आधारित वास्तुकला. एकीकृत करने के लिए आसान है ।

    · का समर्थन करता नेस्ट, सुपर और समवर्ती अमेरिका.

    · राज्य मशीन कायम कर सकते हैं और reinitialized करने के लिए एक ही राज्य.

    · का समर्थन करता है, आंतरिक संदेश है ।

    · अनुकूलन कोड पीढ़ी ।

    · एक्सएमएल एपीआई मॉडल के लिए आगे अनुकूलन के लिए.

    सीमाएं:

    · 30 की शुरूआत

    नया क्या है इस रिलीज में:

    · बहु भाषा समर्थन ; SmartState स्टूडियो में अब उपलब्ध है: फ्रेंच, जर्मन, स्पेनिश और अंग्रेजी

  • Design Patterns always helped designers to solve recurring problems. But design patterns are conceptual and too generic. The framework on the other hand is more specific to a particular domain and can be realized through the code. The state pattern is a very useful and powerful pattern which enables an object to change its behavior at run time, depends on which state it is in. A kind of changing the class of an object at run time!!. You may find more information about this design pattern here.

    If you are aware this pattern you might have realized that it needs to have many classes, each represents a state the object may have in its life time. The real object, often called as Context, doesn't hold any internal flag or variables to keep track of the current state, instead it delegates the work to the state object which is currently active. The state object contacts the Context back, to do the appropriate work if needed and may change the state itself. It is better to keep all the implementation code in the Context and state objects will only take care of which method to invoke in the Context and when to change the state.

    An object, which is an encapsulation of a real world entity, might have many states in its life span, and its is absolutely difficult to write classes for each state and the transition logic. State diagrams are used to depict the behavior of the object at various state and its transition logic. Its up to the programmer to realize the design. And of-course each programmer has their own way of implementing it. Which leads to consistent code, difficult to review, difficult to test and difficult to maintain.

    This fact, motivated the designers of SmartState to develop a framework which is generic and can be used in almost all application domains. This framework solves few of the problems described above and still the major part of writing the classes is left. So we realized a need for automatic code generation from the design. To accomplish that, state diagrams should not be drawn, it should be modeled. SmartState Designer GUI provides the user with a simple and effective user interface to model the state transitions. Special care is taken to avoid putting all the restrictions in the design time because it may be iterative. The design is free to model and the constraints and restrictions are applied only in the code generation stage which makes the GUI more user friendly.

    The code generator will analyze the model, checks for necessary constraints and does the most time consuming part of writing the classes. The generated classes are ready to compile and need not be modified. This is a very important feature of SmartState because the design and the implementation is one-to-one always which is usually a day dream in software industry.

    To change the behavior of the object, just edit and recompile the model. Rebuild your project and you are done. You may not need a programmer to do this. Which makes it more maintainable. Also the code generated is of the same structure, the review and testing need not be done once you are satisfied with it. All these features lead to improved productivity in your organization which is the motivation of SmartState.

    Here are some key features of "SmartState":

    · Simple graphic modeler for state diagrams.

    · Designers and developers can work on same tool.

    · Ready to compile C++ / C / Java / C# code. No scripting required.

    · Robust state machine framework.

    · Message based architecture. Easy to integrate.

    · Supports nested, super & concurrent states.

    · State machine can be persisted and reinitialized to same state.

    · Supports Internal messages.

    · Customizable code generation.

    · XML API for the model for further customization.

    Limitations:

    · 30 launches

    What's New in This Release:

    · Multi language support ; SmartState Studio is available now in: French, German, Spanish and English