Also, we now have a complete ‘Java to .NET Migration’ hands on workshop that is available online, which contains a lot of key content regarding J2EE to .NET architecture mapping (to help facilitate re-writing), and also has labs that cover the JLCA, J#,
and other migration topics and tools… It can be run by anyone (free, requires registration), and even includes a virtual hosting of VPC image that includes Visual Studio, JLCA, sample lab files, etc… this can all be run through the browser without downloading
anything locally. This is a great resource for any J2SE/J2EE folks getting introduced to .NET, writing new apps, migrating existing apps, etc:
Dragging and dropping members - when you moved the name field & property to the person class - would you just get the stubs? Or if say I had written validation in my property, would that be copied too?
Also, another refactoring question - not sure if this is the place for it! How flexible will the refactoring be? Changing public fields to private and giving them a property is great - is it possible to do custom refactoring which would add in, say a method
call in the property set (say, a call to a method which sets a dirty flag)?
Move members refactoring is not supported in V1. You will be able to cut a member from one class shape and paste it into another. This will bring along the method bodies (your custom code) as well. Dragging and dropping members from one class to another
is a natural way to move members in Class Diagrams. Unfortunately, it is not supported in this release.
Wil, I agree with you. However, we had to cut support for C++ due to our inability to provide a high quality user experience (Please see blog entry
http://blogs.msdn.com/classdesigner/archive/2005/03/04/384764.aspx and feel free to add your comments). Despite our sincere efforts to get C++ we believed that we couldn't address
all the issues that remained to provide a good user experience. Providing support for C++ will however, be a top priority in the upcoming releases.
This is pretty cool, but it reminds me a little of the SQL Query Designer; someone could easily write bad code (even though it may work, it'll have poor performance). I've seen people write SQL code with multiple levels of nested joins and sub-selects this
way (most of whom can't write SQL by their self) which took minutes to run. I’ve had to rewrite a lot of SQL like this, and my queries would usually run in less than 2 seconds. I guess any tool could be misused.
I hope the Class Designer is much better. I'm looking forward to using this to improve my productivity.
I'm really looking forward to all the enhancements coming in Whidbey!
Actually the Class Designer doesn't create any method bodies. It just generates stubs - the developer will have to implement the logic.
Are the class diagrams different for C# and VB.Net? That seems to be what was implied, which would be strange to me.
Senkwe: No, the class diagrams are the same. But the terminology you see in the diagram will be customized to the language. For example if you have a class diagram in a VB Project you will see terminology like "i As Integer" whereas
in C# you'll see "i : int".
I work with John. I can answer some of the questions and will try to find answers for others.
I see this as a very good feature in the new VS.Net 2005.
I would like to know how the VS.Net 2005 some of the below features
1.XMI interface (Import/export) of the class design
Unfortunately the V1 verson of Class Designer will not support import/export of XMI. Could you elaborate on the scenarios? What we have found so far is that while XMI is a standard each UML tool vendor has their own implementation resulting in the output
by one tool is not being able to be automatically consumed by another tool.
2.How do i develop a Model Driven Architecture using the Microsoft UIP-Application blocks atchitecture ( i think is a very good Distrubited architecture. This architecture is really catching up in Open source)
I'll try to find an answer to this question.
3.Deployment across teams.
(It would be really good to sync the same into VSS or to some source control so that the Project Architect can guide designers about the changes based on the requirements)
Are you asking about using the Class Designer in a team scenario - between the Project Architect and the Development team? If so, you could certainly do that. However, there is no "deferred generation" option in V1. IN V1, Class Designer will work only in
the context of a VS Project and code will be automatically generated. Howver, we have put in considerable effort into making the serialization format simple (it is plain XML) that it should be fairly straightforward to use it in a team scenario and if there
are any merge conflicts it should be pretty intuitive to resolve them.
4.UML or industry Standards in Middle tier designs
If you want a UML tool, then you'll have to use Visio for Enterprise Architects. You can think of Class Designer as a DSL (Domain Specific Language) tool (of the CLR type system). It is geared towards the .NET developer.
5.Enable Migration into Microsoft languages (Some thing like J2EE into Microsoft .Net)
This will be very cool indeed. I'll try to find some answers for this.
Tensor: Yes, that's the idea - to provide a tool that will help people understand existing code quickly.
The comments shown in the tooltip are the xml comments specified on the class, method, field etc. We don't use reflection to get the information. The diagrams are kept in sync with changes you make to the code instantenously - you can think of the class diagrams
as another "view of your code". This requires parsing the source files and listening to events raised when code is edited.
Of course, you can also visualize types from referenced assemblies in the class diagrams as well (you don't need source code for that). That information is gathered from the IL.
DuNuNuBatman: Class Designer is available in VS 2005 Beta 1 and on subsequent CTPs. We have added some new features for the upcoming Beta 2 release (and of course the quality will be much higher). Class Designer will be available in
all VS editions Standard and above. The class designer team has a team blog - http:\\blogs.msdn.com\classdesigner where you can look for more info, give feedback etc. I also have a blog dedicated mostly for discussing class designer - http:\\blogs.msdn.com\r.ramesh.