. NET Learning Routes
Introductory article 1. Learning Object-oriented (OOP) programming ideas
Many high-level languages are object-oriented programming. NET is no exception. If you touch object-oriented programming for the first time, you must understand concepts such as classes, objects, fields, properties, methods and events, encapsulation, inheritance and polymorphism, overloading, rewriting, and so on. It should be explained that Microsoft's product Help documentation is very well done, and the query is quite convenient, the novice must not look. After you install Visual studio.net2003 (or Visual studio.net2002), you have a visual Studio combined Help collection in the Programs group. Beginners get a lot of knowledge from help documents.
2. Choose a language and learn grammar and related basics
Choose the language standard: according to your own needs and personal technical background. Under the. NET Platform, C #, VB. NET is called the framework of the class library, the efficiency is basically the same, C # syntax rigorous, suitable for the previous C + +, VC programmers. Vb. NET is not case-sensitive., auto indent, suitable for the previous VB programmers, Microsoft has repeatedly advocated the use of vb.net for rapid development. Vc. NET is closer to the bottom, and can be programmed in both managed and unmanaged ways.
After choosing the language to use, we need to understand the grammar rules of the language, including statements, types, expressions, operators, functions, and so on, I suggest that the beginning of writing a program to develop a good programming style, the specification of the name of the variable, in the code to write good comments. This is very meaningful for future software development career.
3. Understanding. NET ideas and familiarity with Framework class libraries (Framework classes Library)
We use a picture to illustrate the relationship between the common language runtime (CLR), the Framework class library (FCL) and the application, and the entire system.
First, we want to understand the concepts of the common language runtime, assemblies, and common type systems. On this basis, learn. NET Framework class Library: The NET Framework class library is a reusable collection of types that is tightly integrated with the common language runtime. The. NET Framework class library encapsulates most of the Win32 APIs, many of which were previously required to be implemented by the API, and are easily implemented under. NET, and in many cases only a single sentence is sufficient. Therefore, we should try our best to avoid calling Win32API when we are programming. Learn the shortcut to the. NET Framework Class Library: Mastering commonly used class libraries, other infrequently used class libraries only need to understand, when used to consult.
4. Writing programs with Visual Studio.NET
Write programs under the. NET platform we generally use Microsoft's development tools, Visual Studio.NET, because a good IDE can greatly improve the development efficiency. I suggest that beginners start with windowsforms or WebForm, and then move on to writing libraries or controls and components after having a certain foundation. Microsoft's Help documentation comes with a lot of examples, and we can do a walkthrough while watching help. While learning the code, be sure to understand and think. Writing more code and exercising from a project is the path of growth for a master programmer. Remember: Be sure to read more about the source code, and discuss technical issues with the Microsoft newsgroups on more forums (such as CSDN and Dev-club).
We have to use visualstudio.net. This integrated development environment, in addition to writing code, we also understand the principles of. NET deployment, learning to package, deploy, and manage applications. Multi-person projects can consider using Visualsource safe for source code management, a series of development tools to use a lot of practice.
"C # Advanced Programming" (Second Edition) (Tsinghua University Press)
The Insider of Microsoft.NET Program Design Technology (Tsinghua University Press)
Visual VB. NET Technology Insider "(Tsinghua University Press)
Visual C #. NET Technology Insider "(Tsinghua University Press)
. NET Getting Started tutorials (including Windows Form and Web Form):
5. It's best to master large database programming
Generally speaking, most software development involves a database. Most of the software's backend databases are used such as access, SQL Server, Oracle, and so on. Ado. NET provides access to relational data, XML, and application data. We must master the use of connection, command, DataReader and DataAdapter objects, and correctly use DataSet Datasets and DataView for data manipulation. Of course, there must be a database base, including the use of tables, views, stored procedures, and so on. Must be the background database and the front office of ADO to Master, in order to really proficient in database programming.
In the development of a project, it is recommended to use the data Access Application Block (applicationblock) to simplify SQL queries. Microsoft MSDN Web site has downloads, we can take advantage of the SqlHelper class for data access, which is very simple to use and easy to build our data access layer.
The ADO. NET Technology Insider "(Tsinghua University Press)
The ADO. NET Advanced Programming (China Power Press)
"VB." NET and SQL Server 2000 Advanced Programming-creating efficient data layers (Tsinghua University Press)
6. Learning XML WEB Service
XML Web Services is creating a new era of distributed application development. XML Web Services is a manifestation of software as a service that enables data exchange and remote invocation of application logic by using XML message processing. XML enables data to move data between heterogeneous systems through firewalls. Although the public webservices is not very popular, in some enterprises, the development of Web services has been involved. It's easy to create a Web service with Visual Studio.NET, and it's fairly simple to invoke a Web service, just add a Web reference and call it. To learn this, you need to understand the Web Services Description Language (WSDL), the SOAP protocol, and so on.
"Building XML Web Service: Based on Microsoft.NET platform" (Tsinghua University Press)
"Building XML WEB Services for the Microsoft. NET Platform" (photocopy version)
. NET Technology Online resources:
China Software Network (China's largest technology community)
Computer World Developer Club
China Dot Net Club
Microsoft Official MSDN Authoritative site:
1. Learn. NET Framework development platform underlying principles and architecture
At the core of the. NET Framework is the common language runtime (Common languageruntime,clr). Typically, we use a high-level language (such as C # or vb.net) to write programs that produce a managed module (the intermediate Language IL Code) for the compilers of these high-level languages. A managed module is a standard windowsPE file that requires the CLR to execute. When executing the intermediate language code, the instant compiler (Just-in-time, or JIT) in the CLR translates it into CPU instructions. There are many details, including how to initialize the CLR, the Microsoft Component Runtime Execution engine MSCorEE.dll (Microsoft Component objectruntime Executionengine, in the system32 directory), how to work, and so on. If you want to be proficient. NET technology, you must be right. NET Framework principles, assemblies, metadata, value type/reference types, type design, exception handling, automatic garbage collection and other core technologies have a clear understanding.
《. NET Framework Program Design (revised edition) (Tsinghua University Press)
"Applied. NET Framework Programming" (photocopy) Jeffrey Richter
《. Microsoft. NET IL assembly language programming
". NET essence" (China Electric Power Press)
2. Proficiency in running 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) does not have to be said.
Several of the more important tools provided by the. NET Framework SDK are the MSIL Assembler (Ilasm.exe), the MSIL Disassembler (Ildasm.exe), and the Assembly Linker (Al.exe). It is strongly recommended that you use the MSIL Disassembler (Ildasm.exe) in your development to enhance understanding of the CLR and the underlying. The MSIL Assembler (Ilasm.exe) generates a portable executable PE file from MSIL assembly language. The Disassembler (Ildasm.exe) can parse any. NET framework. exe or. dll assemblies 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: The NET Framework SDK also provides many other tools, such as the PEVerify tool (Peverify.exe), the Strong Name tool (Sn.exe), and so on, and we strive to use them in a command-line manner.
It should be noted that visualstudio.net is not able to do all the command line work, some tasks must be done by the command line. For example, to create a multi-file assembly, you must resort to Csc.exe's addmodule option. Only in the right. NET Framework has a deep understanding of how these tools can be used flexibly.
3. Design of large-scale software system architecture
The architecture design of software system needs to accumulate considerable experience, which requires us to grasp the overall structure of the software from the global concept. The first point is that we have to refer to the software Requirements specification. The requirement specification is the user and the development both sides to the development software function, the performance, the user interface and the operating environment and so on to make the detailed explanation, therefore our design software must use this as the basis. Next, we want to do the overall design of the software, that is, the outline design. Generally need to according to the software business requirements and Business Process Module Division, the overall structure of the planning program, input and output and interface design, operation design, data structure design and error processing design, for detailed design lay the foundation. In the detailed design, we need to point out how each module is implemented, including implementation algorithm, logic flow, data flow chart and so on. The future work, is the realization of the program. The test is in sync with the code, must be strictly to the good quality.
In use. NET when developing large systems, it is generally done in the form of a three-layer (or n-tier) structure. The application is logically divided into 3 basic tiers: Data access and storage, business logic layer, presentation layer. The advantages of the three-tier structure are: scalability, scalability, and flexibility. When doing Web applications, consider using the MVC (model-View-controller Model-view-controller) pattern to modularize the user interface functionality of the Web application.
By the way, large software sometimes needs to integrate multiple products to meet enterprise-class application needs. Microsoft offers a number of Server products, such as SQL Server, ExchangeServer, Share Point Server, Biztalkserver, and so on. Remember: We must know more about Microsoft's product line, Microsoft A lot of technology are consistent with each other, combined to play a role! We can integrate software systems on the basis of Microsoft's server-level products, achieve data-sharing access, e-mail on end devices, and message collaboration. In short, through the Internet, let everyone work together, is the future development of software trends. If we take these directions, we will harness the future.
Enterprise Solution Model using Microsoft. NET, Microsoft Press
"Enterprise solution Patterns Using Microsoft. NET" MS Divss
4. Lead the team for software development
A good team to develop a successful product. Software development is mainly composed of project management team, software development team and software Test team. Project management personnel mainly control the project, coordinate the work of the developers and testers. The developer's work is mainly responsible for the implementation of 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-scale software is the crystallization of the collective wisdom of many people, requiring Projectleader to have strong management skills and technical background, as well as good communication skills. If you make the technology for a long time, accumulated a wealth of experience, the project leader and other management work, through continuous learning and promotion, it is very likely to grow into project Leader. If you are projectleader, 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 people who lead the team must be visionary and take the right approach to lead the team to success.
"Human Moon Myth" Tsinghua University Press
"People's Pieces" Tsinghua University Press
========================================================Asp. NET Learning Roadmap
If you already have more experience with object-oriented development, skip these two steps:
The first step is to master a door. NET Object-oriented language, C # or vb.net I strongly oppose the premise of learning an object-oriented (OO) language without a systematic learning of ASP. Asp. NET is a comprehensive to the object of technology, do not understand Oo, that absolutely can't learn!
The second step has some understanding of the. NET Framework class library to learn the NET framework by developing a Windows Form application. Asp. NET is a technology built on the. NET Framework, the deeper you know about the. NET Framework, the faster you will learn ASP. For example: Here are a few of the concepts that are important for mastering asp: The memory model of objects, delegates, events, multithreading, assemblies, and application domains, the security model. NET framework of course there are many other things, but do not understand and grasp clearly these things, It is difficult to really grasp the ASP. Due to the urgency of the mood and the reality of the consideration, many people do not have a solid object-oriented basis for the direct learning of ASP, the results can only be haste. Following the OO Foundation, here are the specific steps to learn the ASP.
The first step: learning HTML and CSS
This does not need to learn a lot of various web design tools such as Dreamweaver,firework, the key is to understand the HTML Web page nested block structure and CSS box model. Many ASP. NET controls must eventually be converted to HTML. Moreover, DIV+CSS is the current mainstream web layout model. When learning this part, the key is to understand the concept, and do not need to focus on the beautification of the pages of the many skills, it is the work of the site art, not the work of programmers.
The third step: Learning computer network principle
Find a university textbook that focuses on the Internet, and learn about domain name resolution and HTTP protocols. This is the theoretical basis for Internet development.
Fourth step: Learning ASP. NET Presentation Layer Technology
Designing a Web page needs to be based on a previously-targeted, object-oriented technology, with at least the following
(1) How to use various Web controls
(2) Understand how the information is transmitted in the Web page, such as the use of cookie,viewstate,session.
(3) ASP. NET applications and the life cycle of Web pages, and the purpose of related objects (such as Httpcontext,response,request).
(4) ASP. NET implementation of event-driven insider
(5) Customizing user controls
Again, there is no OO foundation, it is difficult to master the above-mentioned technology, can only be these things led by the nose, will be very passive.
The fifth step to master the database technology
Specifically, learn the following:
(1) Learn to use SQLServer2005: Do not require proficiency in its various tools and management configuration technology, but at least know how to connect, how to build a table, how to create a stored procedure
(2) Learn how to access the database manually using code (don't use the VS2005 Wizard)
(3) Learning the use of data-bound controls
Sixth Step Understanding Multilayer Architecture
At this point, the assembly and application domains that were previously involved in the OO learning phase are useful, and now most of the site architectures are multi-tiered: presentation, business logic, data access, and the database itself. You can go online to find a multi-layered structure of the data to see, and then find a more complex open source ASP. NET project analysis of its architecture is almost. Is basically a routine that is used everywhere. Some friends ask: learning architecture is not necessary to learn design patterns.
My opinion is: no need! Of course, if you have studied design patterns, it is certainly better. But in the actual development, if only wants to apply a certain mode mechanically, but does not have the good result. My point of view: in learning design patterns to think more and more understanding, its thoughts will gradually into your brain, in the real design practice, forget all the writing in the book mode, all from the reality, believe your intuition, as long as the design requirements to achieve the program is feasible, in fact, after you have done, back to look again, You will find that your design tends to coincidence the theory of design patterns.
Seventh Step learning XML and Web
First understand the basics of XML, look at this XML-based book to see it almost, and then learn the Web Service. A Web service can actually be likened to a remote method invocation (the invocation information expressed in XML format).
Learned here, if you are still interested, you might as well look at SOA, but the material of SOA is theory and concept, looks rather depressed, and may be far from actual development. So, this is optional.
Eighth Step to learning Ajax
The main purpose of learning Ajax is to create a more rich Web presentation layer, and through the previous seven steps of learning, to learn Ajax has come to an end, all the foundation has been, there is no too much problem. In the premise of not having the basis of the direct learning Ajax, like "floating sand on top of the building", so, the Ajax learning order is arranged here.
Nineth Step Learning Ria Technology
Ria:rich Internet application can be regarded as an attempt to combine the advantages of C/s and b/s. In terms of specific technology, the main point is Microsoft's Silverlight (WPF_E), after all, the road ahead is the Microsoft line. But the current study is mainly for technical reserves. It is estimated that the popularity of this technology will take 2-3 years, since the pre-installed Vista machine only started selling last year.
How do beginners learn to program? 2012-12-29 11:38:32
Category: HadoopHow do beginners learn to program? This is a confusing problem for the novice programmer, let the wisdom of the podcast teacher to help you answer it. First can learn, and is not a computer major relationship, can only say that the computer professional because of the previous learning, get started a little faster, so the main is not interested in you, or you need to master a skill to support themselves. Novice programmers before learning to program the first to consider whether you are suitable for the industry, whether you like to write code, if you are sure, then you can begin to study the road.
First, do not control algorithms and data structures. Most simple programs don't need to use algorithms and data structures, so when you really need them, then learn. After programming for a while, you'll know where to use them. At this point know the name of the algorithm and understand their function, and then find some relevant papers to understand the algorithm and hands-on programming practice. Without a ready-made library of functions (reusable code provided by other programmers), you implement it in your preferred programming language.
1. Choose a good programming language, a language you like, whether it's. NET or java.
Choose a program that you think the grammar (document) makes you more comfortable with. To do this, you may need to spend some time comparing the different languages. This is not done to make you feel better or to make programming easier. But to get you started faster, using your knowledge to achieve an effect, is to motivate you to program the source of power.
2. If you selected. Net.
Below to show you the most authoritative. NET Training Camp Learning Roadmap:
Wide range of courses: recruitment. NET software engineers are demanding Ajax, large Internet tuning, SEO, JQuery, and SQL Advanced technology, so the message-wise podcast adds this to the training course, allowing job seekers to take the lead in the interview and be ahead of other competitors. The future is the mobile phone development of the world, the current market on the shortage of Windows Phone developers, fresh salary is more than 5K, Preach Wisdom Podcast pioneered the Windows Phone Development course, using the original Windows Phone Simulator platform for Teaching, Let students do not miss the mobile phone development of the wave of wealth.
Lesson NEW: Smart Podcasts evolve with the latest technologies such as. Net 4.0, ASP, LINQ, and WCF into the curriculum (many companies have already started to include "Mastering Linq priority" in job requirements, "Mastering ASP. Silverlight gives priority to "," etc.) to ensure that the knowledge that our students possess is ahead of others. And those "consecutive N-year schedule unchanged" training institutions, not the same, Preach intelligence podcast time closely follow the latest technology trends, research the latest trends in the job market, the timely adjustment of the curriculum, to ensure that we teach the content is always the most useful for students, "the most useful, do not talk about the old technology has been eliminated," This is an upgrade to the course for up to six months.
Project true: A lot now. NET training institutions in order to recruit, all play forum system, Address Book system, online Mall and other projects, but many are just casually developed demo. Those so-called "XXX systems" are far from real projects. Look at their course arrangements in a week to arrange the "ticketing system", "Teaching Management System", "online consulting system" and other five or six so-called projects, that is, a project is finished one day, such a so-called project can have what content? Today, in the context of big flicker everywhere, preach intelligence podcast refuse to Bluff, Preach Wisdom Podcast program is the most important and representative projects, such as the full-text search engine, log, scheduled task framework, Urlrewrite, page static, distributed cache, three-tier architecture, The technology of full-station AJAX, third-party payment and large concurrent processing is the core technology of portal website.
NET Learning route (detailed)