CodeWeblog.com » application framework,java open source,practical application » Framework for the design of application experience

Framework for the design of application experience

Design Application Framework, a three-year course of study has been learning to master all aspects of J2EE architecture and ideas of technology and continuing to expand their applications and the design idea of the depth and breadth. According to the actual situation, try to design a framework for new applications, where applications in the design on the frame that experience.
To clear the "Framework (Framework)" and "software architecture (Architecture)" the difference between short, Framework is a collection of the practical application of the code, and software architecture can be seen as an abstract design . In addition, the two do not face the same concerns, procedural framework keen to run the course of solving practical problems, and may even provide auxiliary modules or kits (such as log system), and the software architecture is focused on in various parts of (module, group pieces, etc.) relationship. There is actually the same thing on different levels of things. Framework in the design process requires a good grasp of software architecture design, software architecture is the complexity of the design idea, from the level of understanding of coding, I think the Gof Design Patterns 23 good ideas on the design of software architecture , Jive (JAVA open-source forum) is the GoF design patterns to learn one of the best cases. Through these design concepts to guide the framework of procedural framework, which is an application framework for the design process.
Why do we need it in the end the design process to the framework of this?
In the development of many areas has been found that is not very easy, almost every element of our existence as such or question:
different design of the project team do have different styles, but do not thin frame design, resulting in the development of regular to keep the copy, paste, the framework of increasingly become a mere formality;
messy code on each floor, from backstage to front of java the html (JS), have their own way, way, there is no consistent code structure, an increase of maintenance costs and management costs;
 framework components used in a variety of haphazard development, making the system cumbersome to increase the burden on the performance of the server, but also improves the learning costs.
By understanding and research I have come into contact with the current framework has not found a suitable framework for the problems identified can be solved, but in the process of looking for the framework, learning all the technical and ideological framework, the head of each integration, combined with business needs, design a framework. Here, the first two sets of good talk about open source framework Appfuse, SpringSide.
Appfuse is an open-source projects and applications, but also a guiding framework for the entry-level J2EE, how to integrate its popular Spring, Hibernate, iBatis, struts, Xdcolet, junit, etc. are given based on the framework of the model. The biggest bright spot is Appfuse generate code AppGen, through in-depth study "AppGen generated code" of the source code, learn how to write Ant and XDoclet code generation tool automatically. At present, many business systems development framework used to come from Appfuse, development on the regular use of its tools for automatic generation of code generation and configuration, will cause a lot of convenience, and the framework is a mature open source framework, performance and security do not problems in the design of the framework can also be carried out in accordance with the re-structure Appfuse.
SpringSide as the core Spring Framework to provide a practical application of open source enterprise component library. It Simple RoR-like style, will be many outstanding lightweight Java open source community projects throughout the Army as a bonding of the framework to the development of component-based system to cater for the Ant and the Eclipse plugin generation tool, as we developed the Java enterprise applications convenient starting point. SpringSide provides advanced management thinking of the code, in particular the development of component-based architecture - the basis of the core system code components assembled into JAR package posted to the various applications based on components to maintain a unified code. SpringSide programming code provided in the high reusability of the simple code structure, examine the code, you can learn a lot of design ideas. In the design of the framework can be used SpringSide thinking.
Talk about following in the design of the framework of the technology used in thinking and dealing with problems.
1, automatically generated code, from Appfuse provided "AppGen generated code" by the experience and help in the design of the framework designed for the framework of an automated code tools, and provides scalability features. Automatically generated code, the code from the business needs to extract the preparation of templates the preparation of future programmers to code-related business needs, they can make use template has been prepared by Ant input order to complete the basic code generation and configuration, focus after data on the computing business, so do not be a lot of copy and paste, you can reduce the amount of 50-60% programming code. The use of automatically generated code there is another advantage of the generated code, basically completed the coding business processes, "layout" of different styles in the design of the project team can take advantage of this feature to achieve the same goal.
2, extract prepared by the template, which is the basis of automatically generated code, there is no template can not generate code, the preparation of template extraction on the entire business must first have a good grasp modules, as well as the need for deeper knowledge of programming, written by high-quality code to the template, as templates made after the preparation of other members of the business module, are the basis of the template code, in fact, is a standard template. Project development in general also not a lot of templates, but also shared between the different items of the template, such as the main business documents from the table to deal with, this is the most commonly used in business, this business has become the template code extract, then in all projects can be used.
3, component-based model to design the structure of the conceptual framework, when combined with the actual operational system, an operational system will be divided into three components: First, the framework of the core component; Second, the business of public members; Third, the framework of business processes.
 framework is the core component of the skeleton code frameworks drawn from a proposed project, and then labeled JAR package works into the operational framework, so that these projects only to amend the framework of the core code, there is a need to upgrade it to generate a JAR package, released to all the operational framework, so that projects can reduce maintenance costs.
 public business is the operational framework for the actual component, but the business is rather special, the whole of public operations (methods). Projects in many companies, because of the complexity of the project, a project often divided into a number of projects will make use of SSO configuration all works together seamlessly. Precisely because of this situation, the project will exist between some of the public's business, if there are in each project to prepare the public business, the entire project will increase maintenance costs, however, can effectively deal with this business, there are two more good option: First, the use of SOA; Second, using the public component template. Provided in the framework of Web Service (SOA, one of the realization of models) to deal with the interface can be used at the same time, building blocks of public business, but the Web Service needs to use network bandwidth consumption, but also increase the server response time. The so-called public members of the business that is, the operational independence of the public into a project to JAR module to the release of each component with the framework of the core component is the same design idea, but the framework of the core components in the face of all the projects using the framework , and the business component is the public face of all the works projects.
 business process framework to deal with the real business is, in fact, that is, an application works, as the framework of the core code and business code to be extracted into a public component, in the operational framework to deal with the remaining are business-related code, this framework also shows simple, maintenance costs and management costs have been reduced.
4, the use of design patterns to abstract thinking of the code package to achieve high reusability and reduce maintenance costs, facilitate the effective management of code. This area is mainly involved in the design of programming code, as well as the use of a variety of programming techniques, such as Spring's AOP and Ioc (AOP design patterns are mainly agents, Ioc mainly plant design mode). Framework in the design of almost every sentence of the code must be written to take into account these elements, the order is to make the framework of efficient, simple, elegant. For example: For the EXT's front page a list of Grid operations, general EXT directly provided by the standard method of writing, spent about 100 lines of code, but almost always to be prepared when the Grid, are copied from other places , and then paste, the process has been shown in trouble, the effective work time consumption. A large number of code can be copied, pasted to the actual, not enough to explain these codes is simple and the need for processing, then the business can be combined with the demand for the development of a second EXT, simplifying the code process and enhance efficiency.
5, full use of the various components, to avoid miscellaneous components. In a variety of components, in fact, there are many commonalities, develop and sometimes because of lack of understanding of the functional components to choose from and go to other components to complete the original function of the existing components, or is that for convenience the use of other components, but this was inadvertently made the system cumbersome to increase the burden on the performance of the server, but also improves the learning costs. For example: the use of the current very popular EXT + DRW to AJAX data transmission, it is the convenience, but this has brought the issue of the use of DRW, the client will need to download DRW on the core script and business script, an increase of network load ; in the server-side also needs to deal with code generation DRW script DRW, increasing the burden on the service; At the same time, code maintenance and the need to protect the back page of the script, as well as DRW configuration, an increase of maintenance costs; for programmers also need to learn EXT and DRW, the cost of an increase of learning. To tackle these problems, we can design a framework for dealing with the background package through abstract methods, then the future development of a second EXT to resolve, to achieve relatively EXT + DRW more convenient, more concise.
Framework to design a package that is not a simple thing, need to consider all aspects of the problem is that, in particular the stability of the server and the amount of respect, the framework is a set of good practice need to keep the "temper."
Digg Technorati StumbleUpon Mixx del.icio.us Reddit BlinkList Furl YahooMyWeb feedburner

Tags: application framework (RSS), java open source (RSS), practical application (RSS), design idea (RSS), different styles (RSS), software architecture design (RSS), copy paste (RSS), experience design (RSS), design application (RSS), procedural framework (RSS), different design (RSS), gof design patterns (RSS), open source forum (RSS), auxiliary modules (RSS), messy code (RSS), thin frame (RSS), abstract design (RSS), application experience (RSS), formality (RSS), frame design (RSS)

Permalink: http://www.codeweblog.com/framework-for-the-design-of-application-experience/

Leave a reply