The C# edition is specifically designed for generating native C# code. TheC# 1 - C# 5 .NET framework syntax is fully supported. ModelMaker C# Edition has full reverse engineering capabilities and import existing C# code. including generics and nested types. Delphi and Visual Studio IDE Integration experts take care of synchronizing ModelMaker and the Delphi and or Visual Studio IDE editors.
Customers use ModelMaker for the whole field of software development: real-time, technical and database type applications.
Design and UML Modeler
You design in the UML modeler and/or thecode model views. ModelMaker supports the full set of UML diagrams:
Restructuring and Refactoring
ModelMaker's active modeling engine maintains all relationships between classes and their members. This is the base for ModelMaker's restructuring power. For example: Renaming a class or changing its ancestor immediately propagates to the automatically generated source code. If you change a (virtual) method, the overriding methods are automatically updated and regenerated. Tasks like overriding methods, adding events, properties and access methods are reduced to selecting and clicking in dedicated dialogs.
Many build-in refactorings are available on both structural and code level. For example:Extract Method, Extract Class / Interface, Rename Parameter etc.
Apart from those you'll find that you can drag drop (or copy /paste) almost any entity to copy, rearrange or convert it. For example:
- Copy/Move members to another class.
- Convert local variable or procedure to a field or method.
- Add/Remove a class to/from a module.
- Rearrange classes within modules.
- Create a Delegate from a method.
- Create an Event property or Event handler method from a Delegate.
- Much more included; check the user manual chapter Drag and Drop support.
Seamless transformation to code
The main difference between ModelMaker and other CASE tools is that design is strictly related to and native expressed in the Delphi or C# target code. This way there is a seamless transition from design to implementation as currently not found in any other high level CASE tool. At the same time this approach assures your designs remain down to earth.
The main difference between ModelMaker and other Delphi and C# code generators are it's high level overview and restructuring capabilities letting you deal with complex designs.
Visualizing (existing) code
Use instant code visualization to help you understand structure and design of existing code. Classes and their members are displayed in class diagrams along with their structural relations:
Different layouts and preset styles make visualization easy and fast.
- Adjustable Auto maintained compartments show class members to any detail.
- Visualize classes on multiple diagrams with different details to show different roles.
- Drag and drop classes from classes or Modules view onto a diagram. Classes and their relations are instantly visualized.
Documenting design and code
- Embed the professional quality UML diagrams in your documentation.
- Copy and paste diagrams in windows metafile format or export diagrams to file in .wmf, .bmp, .png and .jpg format
- Highly configurable visual appearance using (named) styles.
- Stereotype based auto colored symbols
- Print hard copies auto stretched or on multiple pages.
- Enter Documentation and/or One Liner descriptions for entities. These can be generated and imported into / from source code.
- Create Help Files with the build-in Help File Generator.
- Create your own reports through the ModelMaker ToolsAPI. XML reporter sample included.
A unique feature is the support for Design patterns. A number of patterns are implemented as 'ready to use' active agents. A ModelMaker Pattern not only inserts Delphi code fragments to implement a specific pattern, but it also stays 'alive' to update this code to reflect any changes made to the design.
Design Critics scan your design for oddities and offer solutions wherever possible. You can add your own critics through the ToolsAPI.
The ModelMaker Tools API is a read/write API allowing you to create your own style reports, wizards, based on iteration on classes, members, diagrams etc. This API also integrates Version Control Systems with ModelMaker.
ابزاری برای مدل سازی نرم افزار با قابلیت تولید اتوماتیک کد برای زبان سی شارپ