Programmer's. NET era (ii)

Source: Internet
Author: User
Tags command line compact error handling exception handling execution garbage collection implement visual studio
Program | Programmer 1. Learn. The underlying principle and architecture of NET Framework development platform

. The core of the NET Framework is the common language runtime (Common Language runtime,clr). Typically, we write programs using a high-level language, such as C # or vb.net, which produces a managed module (the intermediate Language IL Code). A managed module is a standard Windows PE file that requires the CLR to execute. When executing intermediate language code, the Just-in-time compiler in the CLR (Just-in-time, JIT) converts it into a CPU instruction. There are many details, including how to initialize the CLR, the Microsoft Component Runtime Execution engine MSCorEE.dll (Microsoft Component Object Runtime Execution Engine, under the system32 directory) how to work, and so on. If you want to be proficient. NET technology, you must be right. NET Framework principles, assembly, metadata, value type/reference type, type design, exception handling, automatic garbage collection and other core technologies have a clear understanding.



Recommended Books:

《. NET Framework Program Design (revised edition) (Tsinghua University Press)

"Applied. NET Framework Programming" (Photocopy edition) Jeffrey Richter

《. Microsoft. NET IL assembly language programming

". NET essence" (China Electric Power Press)



2. Proficiency in the operation of the underlying tools to debug and solve various problems

Know. NET platform, we need to learn some tools and the use of the CLR Debugger (DbgCLR.exe). The importance of the C # command line compiler (Csc.exe) and the vb.net compiler (Vbc.exe) is needless to say.

The. NET Framework SDK provides several more important tools: the MSIL Assembler (Ilasm.exe), the MSIL Disassembler (Ildasm.exe), the Assembly Linker (Al.exe). It is highly recommended that you use an MSIL Disassembler (Ildasm.exe) in development to enhance understanding of the CLR and the underlying. The MSIL Assembler (Ilasm.exe) generates portable executable PE files from the MSIL assembly language. The Disassembler (Ildasm.exe) can parse any. NET framework. exe or. dll assembly and display the information in a readable format. The Assembly Linker (Al.exe) generates a file with an assembly manifest from one or more files ... NET Framework SDK also provides many other tools, such as the PEVerify tool (Peverify.exe), the Strong Name tool (Sn.exe), and so on, we strive to use them in the command line.

It is important to note that Visual Studio.NET is not capable of accomplishing all the command-line work, and some tasks must be done by the command line. For example, to create a multiple-file assembly, you must resort to the csc.exe addmodule option. These tools are used flexibly only on the basis of a deep understanding of the. NET Framework.



3. Large software system Architecture design

To carry out the architecture design of the software system, we need to accumulate quite rich experience, which requires us to grasp the overall structure of the software from the global concept. The first point is that we must refer to the software Requirements specification. The requirement specification is the user and development both sides to the development software function, the performance, the user interface and the operation environment and so on makes the detailed explanation, therefore we design the software must take this as the basis. Next, we want to do the overall design of the software, that is, the outline design. Generally, according to the business requirements and business processes of the Software Module Division, the overall structure of the program, input and output, as well as interface design, operation design, data structure design and error handling design, to lay the foundation for detailed design. In the detailed design, we need to indicate how each module is implemented, including the implementation algorithm, logic flow, data flow chart and so on. Later work, is the realization of the program. The test is synchronized with the code, and must be strictly put to good quality.

In use. NET to develop a large system, it is generally made into a three-layer (or n-tier) structure of the form. The application is logically divided into 3 basic tiers: Data access and storage, business logic layer, and presentation layer. The advantages of the three-tier architecture are: scalability, scalability, and flexibility. When doing Web applications, consider using MVC (model-View-controller Model-view-controller) mode to modularize the user interface functionality of the Web application.

By the way, large software sometimes needs to integrate a variety of products to meet enterprise-class application requirements. Microsoft offers a number of server products, such as SQL Server, Exchange Server, Share point Server, BizTalk server, and so on. Remember: We must know more about Microsoft's product line, Microsoft many technologies are consistent with each other, combined to play a role! We can consolidate software systems on the basis of Microsoft's server-level products, implement data sharing access, email messages on terminal devices, and collaborate on messages. In short, through the Internet, let everyone work together, is the future of software development trend. We grasp these directions, is equal to the future.



Recommended Books:

Using Microsoft. NET Enterprise Solution Model, Microsoft Press

"Enterprise Solution Patterns Using Microsoft. NET" MS Press



Online resources:

Network of Software engineering experts

Http://www.51cmm.com

UML Software Engineering Organization

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

Http://www.umlchina.com



4. Lead the team to develop software

A good team to develop a successful product. Software development is mainly composed of project management team, software development team, software testing team. The project manager mainly controls the project and coordinates the work of the developer and tester. The developer's job is primarily to implement the software. Testers are the quality assurance of software products. Other personnel, such as product planning, software technical support and documentation, logistics are indispensable.

Large software is the crystallization of many people's collective wisdom, requires project leader has strong management ability and technical background, as well as good communication skills. If you are a long time for technology, accumulated a wealth of experience, have done project leader and other management work, through continuous learning and promotion, very likely to grow into project Leader. If you are project Leader, you are responsible for the success or failure of the software, you can according to the existing resources to determine the development of task allocation, reasonable employment, determine whether the functional modules are worthy of development, project schedule control and many other issues. In short, the person who leads the team must be visionary and take the right approach to lead the team to success.



Recommended Books:

The myth of People's Moon Tsinghua University Press

"Human Piece" Tsinghua University Press





Technology Outlook



1. Seamless computing (Seamless Computing)

At present, most applications are also limited to desktop systems. In the past 20 years, software has defined the information age, but it has been limited by hardware. Today, software determines the digital age. "Seamless Computing" is a software innovation framework designed to eliminate the boundaries that exist between different software systems, and the concept of seamless computing is to achieve the full capabilities of the hardware in a seamless manner. The fundamental innovation of software should be embodied in such fields as networked system, information-driven software and multimedia user interface. In the future, software will no longer be subject to hardware capabilities. The software will help people to work together better, and gradually realize the seamless calculation for people to provide ideal working environment. Microsoft launches Windows Server 2003, Office System 2003, Visual Studio.NET, Web Service, and future releases of SQL Server "Yukon", windows Longhorn is the basis for seamless computing. At the COMDEX 2003 meeting, Bill Gates pledged to provide a full range of frameworks and services for seamless computing. Seamless computing--it's really worth looking forward to!



2. Wireless communication

In the wireless communication, with. NET for mobile development, the implementation of all equipment terminals work together. Microsoft launched a compact version of the. NET Development framework (the. NET Compact framework) in 2003. Together with Smart Device Extensions (SDE) for Visual Studio. NET, it brings stronger development capabilities and powerful programming platforms to mobile devices such as PDAs, mobile phones, set-top boxes, and various running window CE. NET operating system of embedded devices) in the development work. The future of the wireless communications market is even greater, Microsoft and the major manufacturers of cooperation, will be used. NET is more beneficial to the people who carry out mobile development.



Summarize:

. NET is a landmark concept, it can be said that in the next 10 years, there will be more software developers to use. NET. We can see that the vs.net function is already very powerful now. and Microsoft's development tools will be more complete, each new version of the vs.net has a lot of improvements than the previous version. There will be more programmers stepping into the future. NET Camp, Programmer's. NET era, will greatly increase productivity. Imagine what a powerful environment it would be if every server in the world were running a web Service, providing a Web API, and each API could accomplish a powerful function. We look forward to it all. Now, we have to do is: Master today's. NET, to meet the brilliant tomorrow!


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.