Http://www.cnblogs.com/niyw/archive/2010/07/24/1784286.html
To be honest, this topic is indeed a big topic. We will all have this kind of feeling. In the past, due to project and company reasons, we were doing nothing, and we were doing nothing, I am not afraid to talk about experience here. I just want to know my own experience. I hope you can forgive me. If other platforms are very good, I won't say it anymore, right. NET platform is just getting started, from winform, Asp. net (Asp. net MVC is terminated when a project is not completed) to WPF and Silverlight, so that the current Windows Azure, No matter what technology is used, the most basic things will not change, for example, access to databases, files, and other devices, handling logs and exceptions, processing data structures, displaying reports, printing implementation, performance improvement, and data processing, user-friendly and so on.
These projects have accumulated a lot of experience for us, including technical and other aspects:
* In order to cope with the changing needs of the project and the scalability of the project, we will also introduce Oo and design patterns;
* To remove the coupling between modules and components, we also use IOC to decouple them;
* To make the logic code clear and free from interference from other codes, we also adopt the AOP method for code restructuring;
* In order to solve such inexplicable memory errors and invoke exceptions, we will also study obscure CLR & Il. If the problem arises, you have to solve this project.
* To make the project development faster and more convenient, we will also introduce the ORM idea to Accelerate the development speed and maintainability of the project;
* To better organize development at different layers and separate coupling, we also adopt MVC, MVP, and mvvm modes;
* In order to improve the response speed of users, we will adopt Ajax; Adopt asynchronous programming to solve the long waiting problem of users;
* To reduce system load and improve user response capabilities, MSMQ or SSB is also used to organize message queues;
* The interruption of various applications and services makes us feel helpless. To standardize the interfaces of various systems and provide a unified interaction platform, we also adopt SOA;
* Real-time processing and high computing of a large amount of data frees users from waiting for a long time. To reduce the burden on the server and increase the speed, we will also write a set of caches by ourselves, and ensure that the cache is correctly updated and removed;
* In order to make the product better, we will constantly optimize the technology to achieve the expected results;
* In order to do a good job in outsourcing projects, we don't need any advanced technology. First, we will give the customer the expected results;
* In order to receive praise from the customer's satisfied boss, we will also learn how to communicate with each other. We need to understand that the customer's satisfaction and money are to be obtained;
In the final analysis, we need to clarify the relationship and thoughts. We need to deal with the relationship between machines and people. Only in this way can we succeed in products or projects, after the project is successful, the development and promotion will be available. I am still learning, and I always feel like I am a cainiao. Looking back, I suddenly find that I have returned to the origin, only to continue learning, continuous Improvement!