Entry
1. Learning Object-oriented programming ideas
Many advanced languages are object-oriented programming, and. NET is no exception. If you are first familiar with object-oriented programming, you must understand the concepts of classes, objects, fields, attributes, methods and events, encapsulation, inheritance and polymorphism, overloading, and rewriting. It should be noted that Microsoft's product help documentation is well-developed, and the query is quite convenient, and the readers have to read it. After Visual Studio. NET2003 (or Visual Studio. NET 2002) is installed, there is a Visual Studio combo help set in the program group. Beginners get a lot of knowledge from the help documentation.
2. Select a language to learn grammar and related basic knowledge.
Select the language standard: Based on your own needs and personal technical background. On the. NET platform, C # and VB. NET are class libraries that call the Framework. The efficiency is basically the same. C # has a rigorous syntax and is suitable for programmers of C ++ and VC. VB. NET is case-insensitive and can be written at will. It is automatically indented. It is suitable for programmers of VB. Microsoft has repeatedly advocated quick development with VB. NET. VC ++. NET is closer to the underlying layer and can be programmed in two ways: hosted and unmanaged.
After selecting the required language, we need to understand the syntax rules of the language, including statements, types, expressions, operators, functions, and so on, I recommend that you develop a good programming style, name variables in a standardized manner, and write comments in the code at the beginning. This is meaningful for the future software development career.
3. Understand. NET ideas and be familiar with the Framework Class Library)
We use a picture to illustrate the relationship between the Common Language Runtime Library (CLR), Framework class library (FCL), applications, and the entire system.
First, we need to understand the concepts of the Common Language Runtime Library, assembly, and general type system. On this basis, we will learn the. NET Framework class library .. NET Framework class library is a collection of reusable types that are closely integrated with the public Language Runtime Library .. The NET framework class library encapsulates most Win32 APIs. Many functions that can be implemented only by calling APIs previously can be easily implemented in. NET. In many cases, only one sentence is enough. Therefore, we should avoid calling Win32 APIs when designing programs. A shortcut to learning. NET Framework class libraries: Master common class libraries. You only need to know about other infrequently used class libraries. You can refer to them when using them.
4. Use Visual Studio. NET to write programs
To write programs on the. NET platform, we generally use Microsoft's development tool Visual Studio. NET, because a good IDE can greatly improve development efficiency. I suggest that beginners start from Windows Forms or Web Forms and switch to class libraries, controls, and components after having a certain foundation. Microsoft's help document contains many examples. We can perform drills while looking at help. While learning the code, you must understand and think about it. Writing more code and training from projects is the path for programming experts to grow. Remember: Be sure to read and write more source code. Go to multiple forums (such as CSDN and Dev-club) to discuss technical issues with Microsoft newsgroups.
We must make good use of the integrated development environment Visual Studio. NET. In addition to coding, we also need to understand the deployment principles of. NET and learn how to package, deploy, and manage applications. For projects developed by many people, you can use Visual Source Safe for Source code management. This series of development tools requires a lot of practices.
Recommended books:
C # advanced programming (second edition) (Tsinghua University Press)
Microsoft. NET Programming Technology insider (Tsinghua University Press)
Visual VB. NET technology insider (Tsinghua University Press)
Visual C #. NET technology insider (Tsinghua University Press)
. NET getting started tutorial (including Windows Form and Web Form ):
Http://chs.gotdotnet.com/quickstart
5. It is best to master large-scale database programming
Generally, most software development involves databases. Most software background databases use such as Access, SQL SERVER, and Oracle. ADO. NET provides access to relational data, XML, and application data. We must master the use of the Connection, Command, DataReader, and DataAdapter objects, and use the DataSet and DataView correctly for data operations. Of course, there must be a certain database base, including tables, views, stored procedures, and other usage. You must master the background database and the foreground ADO. NET to be proficient in database programming.
During project development, we recommend that you use the Data Access Application Block to simplify SQL queries. Microsoft's msdn website has been downloaded. We can use the SqlHelper class for data access, which is very simple to use and can easily build our data access layer. Refer to Microsoft MSDN documentation:
Http://msdn.microsoft.com/library/default.asp? Url =/library/en-us/dnbda/html/daab-rm.asp
Recommended books:
ADO. NET technology insider (Tsinghua University Press)
ADO. NET advanced programming (China Power Press)
VB. NET and SQL Server 2000 Advanced Programming-creating an efficient data layer (Tsinghua University Press)
6. Learn xml web Service
XML Web services is creating a new era of distributed application development. XML Web Services is a kind of embodiment of software as a Service. It enables data exchange and application logic remote calls by using XML message processing. XML enables data to be moved between heterogeneous systems through the firewall. Although public Web Services are not very popular, Web Services Development has been involved in some enterprises. Visual Studio. NET is easy to create Web Services, and it is quite easy to call Web Services. You only need to add a Web reference and then call it. To learn this, you need to understand the Web Service Description Language (WSDL) and SOAP protocol.
Recommended books:
Building xml web Services: based on Microsoft. NET platform (Tsinghua University Press)
Building xml web Services for the Microsoft. NET Platform)
. NET Technology Online Resources:
China Software Network (China's largest technology community)
Http://www.csdn.net
Computer World developer Club
Http://www.dev-club.com
China Dot Net Club
Http://www.aspx.cn
Official Microsoft MSDN site:
Http://msdn.microsoft.com
Microsoft official ASP. NET site:
Http://www.asp.net
Microsoft official Windows Form site:
Http://www.windowsforms.net
Microsoft official Dot NET Site:
Http://www.gotdotnet.com
English site Code project:
Http://www.codeproject.com
**************************************** ********************************
Promotion
1. Learn the underlying principles and architecture of the. NET Framework development platform.
The core of the. NET Framework is the Common Language Runtime (CLR ). Generally, we use a high-level language (such as C # Or VB.. NET) Compile programs. The compilers of these advanced languages generate a managed module (that is, the intermediate language IL code ). The managed module is a standard Windows PE file that requires CLR execution. When executing the intermediate language code, the real-time Compiler (Just-in-time) in CLR converts it into CPU commands. There are many details in the process, including how to initialize CLR, how to execute the MSCorEE. dll (Microsoft Component Object Runtime Execution Engine, under the system32 directory) When Microsoft components are running, and so on. If you want to be proficient. NET technology. NET framework principle, 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 programming (revised version) (Tsinghua University Press)
By Jeffrey Richter, Applied. NET Framework Programming
. Microsoft. net il Assembly Language Programming
. NET essence (China Power Press)
2. proficient in running underlying tools for debugging and solving various problems
To understand the underlying principles of the. NET platform, we need to learn some tools and use the CLR debugger (DbgCLR.exe. The importance of C # command line compilers (csc.exe.exe and vb.net (((vbc.exe) is unnecessary.
The. NET Framework SDK provides several important tools: msilassembler (ilasm.exe), MSIL disassembly program (Ildasm.exe), and Assembly Linker (Al.exe ). We strongly recommend that you use MSIL disassembly program (Ildasm.exe) in development to enhance your understanding of CLR and the underlying layer. MSIL assembler (ilasm.exe) generates executable PE files from the MSIL assembly language. The recompilation program (ildasm.exe) analyzes any. NET Framework. exe or. dll assembly and displays 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 the PEVerify tool (Peverify.exe) and strong name tool (Sn.exe). We strive to use them using command lines.
It should be noted that Visual Studio. NET is not able to complete all the work that can be done by the command line, and some tasks must be completed by the command line. For example, if you create a multi-file assembly, you can use the addmodule option of csc.exe. These tools can be used flexibly only when you have a deep understanding of the. NET Framework.
3. Design large-scale software system architecture
To design the architecture of the software system, we need to accumulate a wealth of experience and need to grasp the overall structure of the software from a global concept. First, we must refer to the Software Requirement Specification. The Requirement Specification is a detailed description of the features, performance, user interface and running environment of the developed software. Therefore, we must design the software on this basis. Next, we need to design the overall software, that is, the outline design. It is generally necessary to divide modules based on the business needs and business processes of the software, and plan the overall structure of the program, input and output, interface design, operation design, data structure design, and error handling design, lay the foundation for detailed design. In the detailed design, it is necessary to point out how each module is implemented, including implementing algorithms, logical flows, and data flowcharts. In the future, it will be the implementation of the Program. The test is performed in sync with the encoding, And the quality must be strictly controlled.
When developing a large system using. NET, it is generally made into a three-layer (or N-layer) structure. The application is logically divided into three basic layers: Data Access and storage, business logic layer, and presentation layer. The three-layer architecture has the following advantages: scalability, scalability, and flexibility. When creating a Web application, you can use the MVC (Model-View-Controller) mode to modularize the user interface functions of the Web application.
By the way, large software sometimes needs to integrate multiple products to meet enterprise-level application requirements. Microsoft provides many Server products, such as SQL Server, Exchange Server, Share Point Server, and BizTalk Server. Remember: Everyone must know more about Microsoft's product line. Many of Microsoft's technologies are consistent with each other, so that they can play a role together! On the basis of Microsoft's Server-level products, we can integrate software systems to achieve data sharing and access, and e-mail and message collaboration on terminal devices. In short, making everyone work together through the Internet is the future trend of software development. If we grasp these directions, we will be able to control the future.
Recommended books:
Microsoft Press: Enterprise Solution Model Using Microsoft. NET
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 the team in software development
A good team can develop a successful product. Software development consists of the project management team, software development team, and software testing team. Project Management Personnel mainly control projects and coordinate the work of developers and testers. Developers are mainly responsible for software implementation. Testers guarantee the quality of software products. Other personnel, such as product planning, software technical support, documentation, and logistics, are indispensable.
Large software is the crystallization of the collective wisdom of many people, requiring the Project Leader to have strong management capabilities, technical background, and good communication skills. If you have been working on technology for a long time and have accumulated rich experience, have worked as a Project Leader and other management work. Through continuous learning and improvement, you are very likely to grow into a Project Leader. If you are already a Project Leader, you are responsible for the success or failure of the Software. You can decide the task allocation in development based on the existing resources, make reasonable use of people, and determine whether the function module is worth development, project Progress Control and many other issues. In short, the people who lead the team must have foresight and foresight, and take the correct method to lead the team to success.
Recommended books:
Mythical man-month, Tsinghua University Press
Man piece Tsinghua University Press
This article from the CSDN blog, reproduced please indicate the source: http://blog.csdn.net/chrisplus_jiang/archive/2010/06/10/5661305.aspx