Programmer's .NET era (improvement)

xiaoxiao2021-03-06  58

Programmer's .NET

Li Honggen

(This article is first "9CBS Development Master" 2003, Issue 12th)

Enhancement

1. Learn .NET framework development platform underlayer principle and architecture

The core of the .NET framework is a common language runtime (CLR). Typically, we write programs using a high-level language (such as C # or VB.NET). These high-level compilers generate a managed module (ie intermediate language IL code). The hosted module is a standard Windows PE file that requires CLR to execute. When performing intermediate language code, the immediate compiler (Just-IME, JIT) in the CLR converts it to the CPU instruction. There are many details in this, including how to initialize the CLR, and perform engine MSCoree.dll (Microsoft Component Object Runtime Execution Engine, how to work when the Microsoft component is running. If you want to be proficient .NET technology, you must have a clear understanding of the principle of .NET framework, assembly, metadata, value type / reference type, type design, abnormal processing, automatic garbage collection.

Recommended books:

".NET Framework Design" (revised) (Tsinghua University Press)

"Applied .NET Framework Programming" JEFFREY RICHTER

".Microsoft .NET IL assembly language program design"

".NET Nature" (China Electric Press)

2. Skilled the underlying tool for debugging and solving various problems

Understand the underlying principle of the .Net platform, we need to learn some tools and CLR debuggers (DBGCLR.exe). The importance of the C # command line compiler (CSC.exe) and VB.NET compiler (VBC.exe) is not to say.

Several important tools provided by the .NET Framework SDK are: MSIL assembler, MSIL disassembler (ILDASM.EXE), assembly linker (Al.exe). It is highly recommended that you use MSIL disassembler (ILDASM.EXE) in the development to enhance understanding of CLR and underlying. The MSIL assembler generates portable executable PE files from the MSIL assembly language. ILDASM.exe analyzes any .NET framework .exe or .dll assembly and display information in readable format. The assembly linker (Al.exe) generates a file with an assembly list from one or more files. The .NET Framework SDK also provides many other tools, such as: Peverify.exe, Strong Name Tool (sn.exe), etc. We strive to use them in a command line.

It should be pointed out that Visual Studio.net is not possible to complete all command lines, and some tasks must be completed by the command line. For example: Create a multi-file assembly, you must help to csc.exe's addModule option. These tools are only available on the basis of the .NET framework.

3. Make large software system architecture design

The architecture design of the software system requires a relatively rich experience, requiring us to grasp the overall structure of the software from the global concept. First, we must refer to the software requirements instructions. The demand manual is a detailed description of the function, performance, user interface and operational environment of the developed software, so we design software must be based on this. Next, we have to do the overall design of the software, that is, the summary design. It is generally necessary to lay the foundation for detailed design, based on the software requirements and business processes of the software, the overall structure, input and output, and interface design, operation design, data structural design, and error processing design. In the detailed design, it is necessary to indicate how each module is implemented, including implementation algorithms, logic, data flow charts, and the like. The future work is the implementation of the program. The test is in synchronization with the encoding, and the quality must be strict. When developing large systems with .NET, it is generally in the form of a three-layer (or N layer) structure. The application is logically divided into 3 basic layers: data access and storage, service logic layers, representing layers. The advantages of the three-layer structure are mainly: scalability, scalability, and flexibility. When doing web applications, you can consider MVC (Model-View-Control Mode-View-Controller mode to make the web application user interface function to modrew.

By the way, large software sometimes needs to integrate a variety of products to meet enterprise application needs. Microsoft provides many Server products such as SQL Server, Exchange Server, Share Point Server, BizTalk Server, and more. Remember: Everyone must learn more about Microsoft's product line, and Many of Microsoft are consistent, combining it to play a role! We can integrate software systems on the basis of Microsoft Server-level products, implement data sharing access, email on terminal devices, and messages. In short, through the Internet, let everyone work together, is the development trend of future software. We grasp these directions and is equal to driving the future.

Recommended books:

"Enterprise Solution Mode for Microsoft .NET" Microsoft Press

Enterprise Solution Patterns Using Microsoft .NET "MS Press

Online resources:

Software Engineering Expert Network

http://www.51cmm.com

UML software engineering organization

http://www.uml.org.cn/

http://www.umlchina.com

4. Lead team to develop software development

A good team can develop a successful product. Software development is mainly composed of project management team, software development team, and software test team. Project managers are mainly controlled by projects, coordinating developers, testers. Developers' work is mainly responsible for software implementation. Test staff is the quality assurance of software products. Other personnel, such as product planning, software technical support and documentation, logistics is indispensable.

Large software is the crystallization of many people collective wisdom, requiring Project Leader to have strong management capabilities and technical backgrounds, as well as good communication skills. If you have a long time, you have accumulated rich experience, doing management work such as project team leader, which is very likely to grow into Project Leader through constant learning and improvement. If you are already Project Leader, you are responsible for the success or failure of the software, you can determine the task assignment, reasonable employers, determine whether the function module is worth development, project progress control, etc. according to the existing resource decisions. In short, people who lead the team must have a long-term knowledge and take the correct way to lead the team to succeed.

Recommended books:

"Moon Myth" Tsinghua University Press

"People" Tsinghua University Press

Technical outlook

1. Seamless Computing is currently limited to the desktop system. In the past two decades, the software defines the information age, but is limited by hardware. Today, the software determines the digital era. "Seamless Calculation" is a software innovation framework designed to eliminate the boundary between different software systems, seamless calculation concepts are to play all the hardware in seamless ways. The fundamental innovation of software should be reflected in the fields of network system, information-driven software, and multimedia user interfaces. In the future, the software will no longer be subject to hardware features. Software will help people better agree with jobs, and gradually achieve seamless calculations for people to provide ideal working environment. Microsoft launched Windows Server 2003, Office System 2003, Visual Studio.Net, Web Service, and SQL Server "Yukon" released in the future, Windows Longhorn is a seamless calculation basis. Bill. Gates committed to the Comdex 2003 meeting: To provide a full range of frameworks and services for seamless calculations. Seamless calculation - is really worth looking forward to!

2. Wireless communication

In terms of wireless communication, mobile development with .NET, implement all device terminals to work together. Microsoft has introduced a streamlined .NET development framework (.Net Compact Framework) in 2003. Together with Smart Device Extensions (SDE) for Visual Studio. Net, bring stronger development capabilities and powerful programming platforms to mobile devices (such as PDA, mobile phones, set-top boxes, and various running Window CE .NET operating systems During development of equipment). In the future, the wireless communication market is more huge, Microsoft and major manufacturers will benefit from .NET to mobile development.

to sum up:

.NET is a conceptual concept that can be said to be more software developers in the next decade .NET. We can see that the current VS.NET feature is very powerful. Moreover, Microsoft's development tools will be more perfect, and each new version of VS.NET has many upgrades than the previous version. There will be more programmers to enter the .NET camp, programmers' .NET era, will greatly increase productivity. Imagine that all servers in the world are running a web service, providing a web API, each API can complete a powerful function, this is a powerful environment! We look forward to all everything. Now, what we have to do is: Master today's .NET, meet the brilliance of tomorrow!

转载请注明原文地址:https://www.9cbs.com/read-111928.html

New Post(0)