Thoughts of the net architect

Source: Internet
Author: User

We can see that Microsoft's DOTNET development is definitely the kind of technology that is easy to improve. It is basically impossible to become a DOTNET architect without three or more years of coding accumulation. Especially in large software projects, architects are the core members of the Project. Therefore, the rational {rational uniied process emphasizes that software development is an interative model ), RUP defines four phases (phase): Inception, elaboration, construction, and transition}. The methodology also recognizes architecture as the core, it represents the important role of the 4 + 1 view in the entire software development process. Architects must be both proficient in technology and be familiar with the business. In addition, they must have relevant accumulation and knowledge reserves for related technologies at various stages of the software life cycle, however, it is difficult to reach this level without years of training.

To become a qualified architect, you must first be a qualified or excellent programmer. coding is always the most important skill for development, in the coding process, as long as you are good at thinking and analyzing problems, you can learn a lot of related knowledge and technology. Therefore, in the development process, we must pay attention to the learning of new knowledge and new technologies, and the learning of previous experiences and achievements. Some problems that should be considered during the coding process include:

1. Do I perform unit tests during the coding process, and do I use related tools for unit tests? If not, why can't I perform unit tests?
2. Self-encoding leakage rate and Cause Analysis of code leakage bugs
3. Do you consciously refactor the code and introduce the idea of the relevant design pattern in the reconstruction process?
4. Do you want to learn some advanced features of C #, such as reflection call and asynchronous processing.
5. Have you studied and compared remoting and WebService distributed technologies?
6. Do you often study open-source projects and open-source code, such as duwamish, petshop, nunit, Enterprise Library, and Nant?
7. Have you studied the object persistence mechanism, O/R Mapping, and other related technologies?
8. Do you pay attention to the reuse and extraction of public components and public classes during the coding process?
9. Do you often develop gadgets to improve work efficiency and consolidate learning knowledge during your daily work and study?

Design and coding are close and inseparable. waterfall models that strictly separate design and coding are generally only used in large-scale projects. The separation of coding and design in a timely manner does not mean that coding personnel do not need to think about it. coding is always a creative task, otherwise, the coding process can be completely automated without human intervention. So here we talk about design mainly refers to the systematic thinking ability of designers. Designers should analyze and think about problems at a higher level than developers. One of the most important skills of the designer is the reality-> abstract conversion. This requires the methodology, technicians need to accumulate knowledge about object analysis and design or structural analysis, and have strong database analysis and design capabilities. The key to whether a design can become a good architect lies in the depth and breadth of accumulation.

Therefore, the following issues should be considered during the design process:
1. Are you competent in analyzing and designing large and medium-sized application systems? Is it just an independent function analysis and design?
2. Whether to consciously consider Component Reuse and related interface design principles during the design process. Whether the analysis mode and design mode can be applied to your own design process.
3. Have you systematically studied and Thought on XP, RUP, object-oriented, and structured methodologies.
4. Do you really understand the different guiding effects of system functional requirements and non-functional requirements on system design.
5. Will I reflect on my design functions based on future changes? Why cannot I adapt to changes?
6. Do you often develop prototypes to verify your design ideas during the design process?
7. Do you want to focus on the analysis of professional business processes while focusing on business modeling?
Knowledge and skills that are frequently used in the DOTNET Architecture
1. RUP methodology, 4 + 1 view. Case-driven business modeling-> analysis model-> Design Model
2. Use Case mode-> Analysis Mode-> Design Mode
3. Common distributed Technologies
4. Focus on non-functional requirements such as security, exceptions, logs, and performance
5. Focus on the overall business of the application system

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.