2nd Edition: 2005.6.22 - Modifying Excellent Disadvantages Comparison Part
Because some IDE does not support, there is no complete attention to the UML expansion mechanism, so it is not very suitable for MDA. For example, generate Hibernate's HBM files, some attributes of the auxiliary properties such as Lazy-Load, should be placed in the class map? Recently, AndroMDA issued an advertisement in TSS, and said AndroMDA 3.0 came out. I have seen it over. In addition to STEREOTYPE, UML, the mechanism of Tagged Value, can attach some properties to the method and properties of the class. In general, AndroMDA's structure should be relatively open and actual:
1.ANDROMDA usage process
1. The programmer draws the UML map by Poseidon or MagicDraw and exports XMI or uses the Schema2XMI tool to generate XMI from the database in the process of drawing the STEREOTYPE and TABLE TAG, Column Tag, etc. needed to join AndromDa. MagicDraw seems to be more ugly, and Poseidon also provides AndroMDA's Plug-in, what features are still not detailed.
2. The user runs the AndroMDA ANT script through Ant, in addition to indicating the XMI file, another important node is
The node indicates all item-level data required for Hibernate, Spring, such as generating a directory, data source name, etc.
3. AndroMMDA explains XMI as a relatively high-level concept, then calls the generated target code file of the Cartridge's Velocity syntax template. There are currently several CARTRIDGEs such as EJB, Hibernate, Spring. If you want to expand Cartridge, you only need to increase, modify, and replace each level from within, in addition to the methods taught by documents.
2. The design of the five core part core components represents the ambition of AndroMDA extension 1.Template Engines currently uses Velocity as a template language to support extensions to other languages. 2. Metafascade provides a high-level META-DATA access API, supports MOF MODEL, such as UML1.3, 1.4, 2.0, and so on. 3 Repositories supports reading Mof Model from an XMI file to support extensions in other formats. 4.cartridge reads the meta model through the MetafaScade, generating the core of the code through the template. AndroMDA comes with Spring, Hibernate and other Cartridge, you can also extend it yourself. 5.Translation-libraries translates the platform-independent code into platform-related code. For example, Hibernate's getxxxxxxxxxxx () method's HSQL statement, you can choose to write in the model with tagged value, or select the OCL query language that is written as a platform, then use Query-Translation to translate it into Hibernate HSQL, can be used in the future Translated into EQL of EJB. There are current Query and Valiates two library, which can also be expanded.
3. The most important information of AndroMDA and the relative standard, open source MDA scheme begins, and countless programmer's unremitting code is automatically generated, which is expected to be included in a relatively unified framework. Compared to your own simple version of the MDA program: Advantages: 1. The model's writing and maintenance is the first, the previous model is the XML standard you have developed. Now it is a standard UML language. Who doesn't want their own things standardization, who doesn't want to be Zhao'an. The second is that the model can use the graphical tool maintenance model. 2. Generating the code to use the Velocity system Template Engine, but it has ready CARTRIDGE, it is estimated that the crowd is fighted, and some big templates are not written (from economics perspective). )much better. Disadvantages: 1. MoMG UML is really the best model language? Martin Fowler does not approve OMG UML-based MDA, saying that UML is used as a description communication is a good tool, but as a formal model description language may not be so easy. Even the graphs such as timing charts are not necessarily designed, at least, at least than flowchart, pseudo code is easy to read. So everyone likes MDD, but I don't like to like OMG UML-based MDA.
2. UML is a thorough graphical language, XMi is difficult to directly text editor can only use the graphical tool maintenance model, and there is no simple text level for the previous XML file. Even if you don't want to discuss the graphic or the text is good, I still like the two ways to combine, I have not been combined with a good time in UML.
3. AndroMDA actually rely entirely on Ant, there is no IDE tool to write an Eclipse plugin.
4. How can most code generation templates now only use other pictures of the Class class diagram, show me a sample please, SHOW ME A SAMPLE.