Starting from improving the development efficiency of the development framework, the efficiency of the development framework

Source: Internet
Author: User

Starting from improving the development efficiency of the development framework, the efficiency of the development framework

In many of the projects we contact, if there are some reference project frameworks, start development and get twice the result with half the effort. Generally, building or accumulating these framework projects is not a one-day task. Generally, we can divide a specific project into Winfrom, Web, or Socket. The specific project interface has different performances, but the structure at the interface layer should be similar, it supports access to multiple databases and provides better interface encapsulation for reuse and optimal code processing.

With the development of business, software systems become more and more complex. There are a lot of knowledge, content, and problems involved in business in different fields. If we develop it from scratch every time, it will be a long task and may not be able to do it well. Based on a stable and mature framework, the development project, technology, and time are guaranteed. At the same time, you can use the efficient tools of our predecessors to assist in development, so as to get twice the result with half the effort.

1. Main features and requirements of the framework

The characteristics of the development framework are described as follows: Code templatification, reuse, High Cohesion (encapsulation), standardization, scalability, maintenance, collaborative development, and universality.

1. Code templated

The framework generally has a uniform code style. Different types of code at the same layer are similar in template structure, which facilitates the use of template tools for unified generation and reduces the compilation of a large amount of repeated code. When learning a typical class at a certain layer, it is easy to understand most of the other class structures and functions at the same layer. Different teams use the same calling style for coding, which greatly improves code readability and facilitates maintenance and management.

2. Reuse

Generally, the development framework is clearly defined. Different developers place the development framework in the same position based on specific functions. With the corresponding development documents, code reuse will be very high, instead of writing the same method for each developer.

3. High Cohesion (encapsulation)

The functions in the framework are highly cohesive. Developers encapsulate various required functions in different layers and call them, during the call, you do not need to know if these methods are implemented. You only need to check whether the output result is what you want.

4. Specifications

During framework development, naming, commenting, architecture layering, coding, and document writing must be well performed in accordance with the strict requirements of code development specifications. Because the framework you developed is not only used by you, it is very important to make it easier for others to understand and grasp.

5. scalability

When developing a framework, you must consider scalability. When the business logic is more complex, the number of records is increased, and the concurrency is increased, Can you adapt with some small adjustments? Or should I re-develop the entire framework? Of course, you don't have to worry too much about the small and medium-sized project frameworks. When your personal abilities and experience are sufficient, you will naturally notice a lot of development details.

7. Maintenance

Mature frameworks should be very convenient for secondary development or maintenance of existing functions. For example, to add, modify, or delete a field or related function in a project, you only need to perform simple operations. You can do this in ten minutes or without spending too much time. A new data table and its corresponding functions can also be quickly completed. Changes to the function will not adversely affect the system. The Code does not contain hard coding and so on, ensuring the production efficiency and quality of software development.

8. Collaborative Development

With the development framework, we can organize teams of both large and small teams for better collaborative development. The mature framework will greatly reduce the difficulty of project development, speed up development, reduce development costs, and reduce maintenance difficulties.

9. versatility

Frameworks in the same industry or field have similar functions and can be applied to similar projects without too many changes. In the framework, we generally implement basic homogeneous functions, such as permission management, role management, menu management, log management, and exception handling ...... or the general functions to be used in the industry, so that the framework can be applied to a certain industry or field, instead of setting it only for a certain business of a company (of course, there must be Application Frameworks for those specific functions, which is only a few special cases that are beyond our consideration ).

 

2. Basic Analysis Based on Winform hybrid development framework and Bootstrap development framework

In many cases, if it is a Winform desktop application, I recommend that you use the Winform hybrid development framework. If it is a Web-based project development, we recommend that you use the Bootstrap development framework.

1) The hybrid development framework integrates the features of the traditional Winform development framework, the WCF development framework, and the Web API interface framework, data can be freely switched between direct access to the database, use the WCF Service to obtain data, and use the Web API service to obtain data. The system interface layer unifies the call mode for business services, all component modules can be called in three ways. It is a very flexible framework application that can be used for stand-alone software or LAN-based application software, it can also be used in Internet environment applications of distributed technology. It is a mature, stable, secure, and efficient technical framework.

The hybrid framework can be used for both traditional Winform System Development and WCF distributed system development, it can also be used for Distributed System Development of lightweight and efficient Web APIs (currently widely used interface methods), so it is highly adaptable to the environment. In addition, the modules have these features and are more reusable, especially for general modules, it has irreplaceable advantages.

 

2) Metronic-based Bootstrap development framework

The development framework interface adopts the newer Bootstrap technology and the latest Bootstrap3.x, which integrates many powerful Bootstrap plug-ins.

BootstrapIs a front-end technical framework, which can be used by many platforms, JAVA/PHP /. NET can be used for front-end interfaces, and JQuery can be integrated to achieve a rich set of Interface Effects. Currently, many Bootstrap plug-ins can be provided for you to use, this framework integrates many of the most outstanding plug-ins, which can bring us an unprecedented level of Web user experience.

MetronicIt is a foreign Bootstrap development framework integration based on HTML, JS and other technologies. It integrates many Bootstrap front-end technologies and plug-ins, and is a very good technical framework. This framework is based on this, combined with my research on the MVC Web framework, and integrated with the MVC-based Bootstrap development framework, so that it can meet the actual project structure needs.

The framework Background uses the C #-based MVC technology. NET is the most mature and popular technology. The framework Background Database supports Oracle, SqlServer, MySql, Sqlite, Access and other conventional databases, and can be switched freely through configuration, use the Enterprise Library module to control data access, making it easier to access data.

 

3. Description of the features of the framework

The above describes some commonalities of the development framework and summarizes the following points: Code templated, reused, High Cohesion (encapsulation), standardization, scalability, maintenance, collaborative development, and versatility.

1) templated code

Our framework series, whether it is the Winform development framework, Web development framework, Bootstrap development framework, and other framework series, are all in the same line. All class code has a unified code style, various projects and hierarchical directories are constructed in a uniform naming method, which is easy to read and understand. The code of the entire framework, including the code at the BLL, DAL, Entity, and other layers of the project, both the Winform interface layer and the Web interface layer can be generated using tools in a unified manner (we construct the corresponding template file based on the characteristics of the project Interface) to reduce the compilation of a large amount of repeated code.

These structures facilitate the generation of project code using code generation tools (Database2Sharp, a software tool tailored for rapid development of the Framework ).

2) Reuse

Because we have adopted some modular methods in project development to assemble the project, we can simply understand it as a combination of building blocks. Such as permission management module, dictionary management module, automatic update module, personnel management module, address book management module, paging control, and public class library, the corresponding modules can be used in the project according to the actual situation, which is very efficient. The entire main framework also has the case code for accessing these modules for reference, so it can be more intuitive and clear.

On the other hand, we are also striving for perfection in the reuse of classes, so we try our best to streamline repetitive code and improve development efficiency.

Interface classes provide encapsulation inheritance to reduce some tedious settings on the Interface

For basic business classes, we also adopt the reuse of basic classes to encapsulate interface functions.

As well as business class inheritance relationships, of course there are more, basically provide some base classes to process and simplify the code.

 

 

3) High Cohesion (encapsulation)

From the above section, we can see that the entire framework is divided into multiple functional modules and can be freely used together. At the micro level, there is a base class of inheritance relationships to encapsulate the relevant code, in this way, developers encapsulate various required functions in different modules or base classes to implement high cohesion processing.

 

The design object inheritance relationship of the Web API controller is as follows:

4) Specifications

Our entire framework series strictly implements code development specifications and requires naming, annotation, architecture layering, coding, and document writing. In this way, we only need to understand the structure of a project, by analogy of other projects, we can clearly define the meaning of each layer. This is true for all Ye Zhiqiu. Through this knowledge accumulation, we can guide our other colleagues in project development, in terms of standardization and consistency, You can unify the pace, so as to have higher development efficiency within the Organization.

 

 

The features of other frameworks, such as scalability, maintenance, collaborative development, and versatility, are not described in detail. Basically, the entire framework is built to facilitate project construction, in the big aspect, you can use the developed modules. In the small aspect, You can inherit the encapsulated class libraries. The entire calling logic process is also tested in practice and used in projects of many domestic and foreign companies, at the same time, we also received a lot of feedback to jointly promote the development of the entire framework system.

 

Related Article

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.