StateCoder 关于

Write better .NET code in VB .NET, C# and other .NET languages.

StateCoder is a .NET class framework that makes it easy to create and support state machines using VB .NET or C#. State machines reflect a design pattern that can result in dramatic code improvements in certain types of applications including reduced costs, improved testability and higher reliability. Typical uses for StateCoder include any multithreaded project, predictive ASP.NET projects, projects that manage asynchronous calls or background operations, projects that implement protocols or data format conversions.

Experienced software developers know that one of the most effective architectures for many types of applications is to implement a solution using a finite state machine. StateCoder is a .NET namespace that is designed to make it easy to create and support state machines in .NET using Visual Basic .NET, C# and other .NET Languages. Even developers who are unfamiliar with state machines will benefit from this unique framework.

State machines reflect a design pattern that is fundamental to all programming. You create them even if you don't realize it. But in many cases, these state machines are created haphazardly. The end result is code that is hard to support, test and modify. If you design your software with an understanding of state machines, you can improve virtually any application.

StateCoder's class framework leads naturally to state machine based design. Then the StateCoder engine executes your state machine, providing efficient thread support, exception handling, and other features.

Additional benefits of developing your code with Desaware's StateCoder product include creating .NET code that is:

  • More reliable
  • Easier and less expensive to test
  • Less expensive and faster to develop
  • Easier and less expensive to support, understand and to modify safely
  • More immune to threading synchronization problems
  • More efficient by using fewer system resources

Typical applications for Desaware's StateCoder include:

  • Management of asynchronous operations: Especially useful for managing large numbers or varying numbers of asynchronous operations
  • Dramatically reduce the number of threads needed to perform background operations (especially useful for objects that support multiple clients)
  • Selective use of between-request processing for ASP.NET and web services can dramatically improve user response, while using minimal server resources
  • Encapsulating sequences of asynchronous operations (wrapping them into a single event or wait operation)
  • Protocol Implementation. Internet or other protocols are almost always based on state machines
  • Data format conversions. State machines can be used to parse incoming data and perform operations based on the results, including generating output data in a different format
  • Do-it-yourself transactioning. State machines can define transaction based objects that don't use COM+/MTS