1. The most recent blockbuster news is Microsoft's reconciliation with sun, which makes people lament the impermanence of malls. However, Microsoft and sun both realized that Java and. net has grown to no one, and it is likely that the two sides develop together for a long time. Therefore, the best practice for both sides is to maintain such a "bipolar world" (like the US-Soviet Union in the Cold War) and simultaneously suppress other emerging third-party forces.
Of course, Microsoft employees do not forget to ridicule mcnealy. Here, mcnealy's "classic" comment on Microsoft is included.
2. XC #
XC # What is it? What is the connection with C? Haha. XC # Is an extension compiler based on C. net, it will compile the C # compiler, and then use its own compiler to define the extension symbol (in the form of attribute) compiled into a standard IL embedded into the final generated assembly.
XC # extensions that can be completed include obfuscation of code, analysis and verification of code, support for preconditions and post-conditions (I think this is the most valuable.
For example, I have a function like this:
Public userinfo builduserinfo (string username, int32 age)
To ensure that the two parameters are valid and that the returned userinfo object is not empty, we can add the detection code:
If (username! = NULL) & (username. length> 0 ))...
Or use assertions:
Debug. Assert (username! = NULL )...
But XC # allows us to use a more "elegant" syntax to define the front and back conditions of this function:
[Requires ("username! = NULL "] // preconditions
[Ensures ("result! = NULL "] // post Condition
Public userinfo builduserinfo (string username, int32 age)
Or, more flexible writing:
[Reture: notnull]
Public userinfo builduserinfo ([notnull] string username, int32 age)
Is there a taste of design by contract ?? XC # (the latest version is 2.0 and starts charging fees. The previous version 1.2 is free of charge. From my own installation and viewing of their help files, 1.2 and 2.0 have almost no functional differences, but when I tried 1.2, it has some problems with the support of the forward and backward conditions.
3. Microsoft released the Smart Client architecture and design guide, which focuses on the architecture design of winforms Smart Client. But it is not complete yet. It only contains three chapters: introduction, offline design, and multi-thread design. In addition, longhornblogs's previous article the road to Longhorn goes through windows forms is also worth reading. The article explains that even if Longhorn winfx is a better program architecture system, however, winforms is still a very valuable technology at this stage.
Currently, I only have a headache for choosing the distributed architecture technology of winforms within the enterprise, because the elasticsearch/COM + recommended by Microsoft is not what I am good at, but I am unwilling to use it. net remoting may have a low level of support (MS already indicates. net remoting cannot talk with indigo on-the-fly) technology, WSE worries about efficiency... After Indigo is complete, a separate split version that can run on WINXP will be released, which is expected.