Do false plugin

xiaoxiao2021-03-06  72

Do false plugin

Recently, the detailed design of the next generation of 9CBS communities has been carried out, and all communities need their own characteristics. The distressed places are flexible customization and performance.

The plugin system is a fairly flexible system.

http://www.cnblogs.com/muddle/archive/2004/06/11/4762.html This is quite good to the plugin system. Excerpt a few words:

The plugin system means that when the host program is developed, it can develop some program (plugins) that meet the custom specification to expand the functionality of the host program.

The design points of the plug-in system are: 1. How do the host program know the existence of the plugin; 2. How to get the required content from the host program; 3. How to exchange information between plugins; 4. How to expand the plugin (that is It is said that each plugin can be used as a host program); 5. Consider the plugin upgrade, and other factors;

To achieve the above flexible plugin system, it is inevitable under .NET. But use reflection and performance issues. Reflection performance can be referred to the following link: http://blog.9cbs.net/leafwiz/archive/2004/10/18/141882.aspxhttp: //nickchen.mblogger.cn/posts/28131.aspx

Also, if each plugin uses your own database, it is more troublesome. Each plugin involves a database in a community design. It is obvious that the integration system of the 9CBS community can be considered a plugin. Save points requires a data sheet. And this data sheet is not isolated.

In this flexible system, performance must be a big problem, and the community is generally a place, performance, and user experience being the first element.

Considering the above problems, in the next generation of community development in 9CBS, I think it is better to use a moderate place.

First of all, the plugin in this community should be developed by us, and we are clear which plugins. This eliminates the need to consider special flexible spreading plugins, but only need to consider flexible calling plugins, and consider performance issues when calling. This may be more troublesome when newly designed a plug-in. But it is not a third party, we can control it.

In the program architecture, we can assume that these plugins exist, just call the problem that is not called. This actually turns into the idea of ​​configuring parameters, not the idea of ​​plug-ins.

Only, in order to maintain convenience, we still use the idea of ​​plug-ins, to focus on each plugin, try to focus on an application set (here only, rather than mandatory requirements). It is convenient to manage when deploying.

In this false plug-in system, even some plugins are mixed together (such as databases, host data sheets and plugins are integrated into a table, and the host program and plug-in is a different line of data. Operation may be set to a function).

This is a false plugin system. But he is taking care of performance and is quite flexible.

Conclusion: The above-mentioned domestical thinking is actually very meaningful in software development, because our actual project demand is always different from the ideal state of a design pattern.

Included: The overall performance of the website, the overall experience, mainly determined by the user's most commonly used function, if your optimization increases the user's most frequently used functional reaction, and puts unused functional response speed Increased, this is still a good performance program.

转载请注明原文地址:https://www.9cbs.com/read-88068.html

New Post(0)