Project considerations and solutions (. NET)

Source: Internet
Author: User

Project considerations and Solutions

 

 

In the project development process, we will consider many of the same issues, such as the technical selection during the design process, the multilingual and user-defined interface issues during the development process, remote system updates during use. Here, only some common solutions are listed. The knowledge limit is not the optimal method. It is only used as a reference.

 

 

Multi-language support

There are two common methods. The first method is to use.. Net supports multi-language solutions, editing form resource files during the development process, so as to achieve the translation and layout of the interface between different languages, to suit the style and requirements of different countries and regions, both web and winform applications can be used. The second method supports dynamic translation of local or remote dictionary files during running.

 

Relatively speaking, the first method is faster than the second method, and the interface for different languages can be defined before running.

 

Interface Customization

During project development in the same system, different customers may have different requirements for the same interface, including the display name and layout of the interface, such as the same "customer ", this project is expected to be displayed as a "business unit", but the project needs to display "Suppliers". What's more, it wants to move the control to another location or invisible. A common method is to describe the properties of a specific interface control, and then re-set the control properties according to the descriptions at run time, or use a complicated method to dynamically create a form, compared with the first method, it is much more difficult.

 

Server Load balancer

Network Load Balancing Technology ensures rapid response even when the load is heavy, and is widely used in Web systems. In actual design, we need to determine whether to use Server Load balancer and where to use Server Load balancer based on system bottlenecks. In addition to Web request responses, the service layer in distributed systems is also common. Load Balancing products can basically be divided into two categories: software-based load balancing products and hardware-based load balancing products. To save costs, use the Server Load balancer feature of Windows server.

 

 

Code Protection

To protect intellectual property rights, the common practice is to confuse published components or encrypt code. Obfuscation increases the difficulty of reading code, but does not prevent code reflection. Encryption can prevent the reflection of the common reflection software on Component code, and the structure of the program cannot be obtained.

For small projects, the coupling between components is low, and to save costs, you can consider using free obfuscators, such as dotfuscator and xenocode postbuild.

If the project is large and the calling relationship between components is complex, you can use encryption software to reduce the difficulty of obfuscation. The encryption process is also very simple, such as maxtocode and dnguard.

 

Prevent component Modification

Use the strong naming component. (Sn.exe generates a signature file)

System Authorization

With authorization, you, as the component or control author, can verify that developers are granted the permission to use your components or controls to protect their intellectual property rights. You can use system. componentmodel. licenseprovider or third-party authorization software to set the service life and number of times of use of components. Of course, you don't need to be so complicated. You can implement a license mechanism by yourself, and check the validity of the license by the Startup Program to determine whether to start the program.

 

System update

There are many ways to solve this problem, including programmable implementation, using WebService, WCF and other technologies to update local, cross-network, cross-platform systems, and ready-to-use ftp tools.

 

Aspect-Oriented Programming

It is a technology that dynamically adds functions to a program without modifying the source code through the pre-compilation method and the dynamic agent at runtime. For example, Aspect-Oriented Programming modularize the concerns that are originally horizontally distributed across multiple objects, such as transactions and log management. There are many types of. Net-based AOP frameworks, such as spring. net. We can use spring. Net to provide rich support for Aspect-Oriented Programming, allowing the development of cohesion by separating the application's business logic from system-level services.

Control reversal

IOC, inversion of control, control inversion, the principle is based on the OO design principles of the Hollywood principle: Don't call us, we'll call you. Components are initialized and called by the IOC container, which is usually used to reduce the coupling between objects. There are multiple IOC frameworks based on the. NET platform, such as spring. net.

 

Object link ing

Object Relational ing (ORM) is a technology designed to solve the mismatch between objects and relational databases. To put it simply, Orm uses metadata describing the ing between objects and databases to persistently store objects in the program into relational databases. The. Net-based ORM framework is ADO. NET Entity Framework, nhib.pdf, and ibatisnet.

 

 

Created: 20080506
Modified first: 20080507
Modified secondly: 20080515

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.