Using WM framework for system development in MVC team Combination Mode

Source: Internet
Author: User

The MVC team combination mode is mainly derived from the evolution of MVC, which is often described in J2EE. Specifically, this is something I have invented myself, but I have experienced some project practices. Today I am going to talk with everyone about it to make up for my long-term defect in not writing technical articles, otherwise, many people say that I have no technical skills in my blog as a software engineer. Second, I want to tell everyone the experience of Ding Dian that I have experienced. When it comes to right, right, and right, whether it is useful or not, it's just dawn, haha ....

Speaking of the MVC team combination model, let's talk about my framework wmframework,

At present, wmframework uses the following main technologies: S2, ibtatis2, spring3, HTML, JS, XML, and Ajax. The entire technical framework is also self-fabricated. It has been quietly liked and improved, the programmer's career over the years is nothing to miss. I have never been a mean person, so in the future, I will gradually share my wmframework with everyone. I hope you can look forward to it. Of course, I want to get insights from everyone. What I am talking about today is how my team uses the MVC team combination mode for software development.

 

MVC team combination mode?

What is the "MVC team Combination Model"? It mainly refers to the division of labor and collaboration among members in a team based on their individual comprehensive skills. Specifically, it refers to the development of each business module, the division of labor and collaboration between members is adopted. One module, three completed parts, four completed the other part, and five completed the other part. This is different from the common development cooperation mode in which one person assumes a certain module.

Let's talk about our common development modes. As we all know, this is often the case in our software system development. The project manager or team lead should first make a unified task allocation, assign the specific functional modules to the programmers in the team by head. For example, Zhang San is responsible for user registration; Li Si is responsible for organizational unit management; who is responsible for this module. The entire coding plan is specified in this way until all functional modules of the system are distributed to corresponding developers. Wait for our programmers to complete the coding of each module, and then everyone will integrate, integrate, and test the code and functions. This is a common Gantt chart model, it is also the development model we usually encounter.

The MVC team combination mode I proposed is different from the above one. I divide any business module development task into three parts, which are jointly completed by personnel of three different roles, these three types of people are called MVC, namely m_actor model performer, v_actor view performer, and c_actor controller performer.

Below I will give the main description of the three:

M: m_actor model performer

Main Tasks: Background business processing model, mainly writing Dao and sqlmap; (in wmframework, I have weakened the DaO layer, because our Dao in wmframework is public, basically, developers do not need to write Dao .)

Personal requirements: developers are required to have strong database operation capabilities and a full understanding of the overall business process to ensure that the SQL statements compiled by sqlmap meet the business requirements of the current module.

This part can be done by database developers and requirement analysts.

 

V: v_actor view executor

Main Tasks: front-end form view, mainly compiling JSP, HTML, and JS, designing and implementing page data forms, and verifying and submitting business data Js. (In wmframework, I also use a common custom JS front-end framework for page form data submission and validation. Developers only need to write a few short JS scripts for calling .)

Personal requirements: developers need to have good UI design capabilities to achieve page operations in a more humane manner, so that they can have a better user experience and know some JS syntax and HTML tags.

This part is completed by the combination of artist, UI technician and requirement analysis personnel.

 

C: c_actor controller executor

Main Tasks: Actions in S1/s2, compiling of service interfaces at the business layer;

Personal requirements: developers are familiar with common Java development modes, have good Java development capabilities, can well process request requests, respronse return responses, and so on. (In wmframework, I also weaken the use of actions. In many cases, most page requests only need to call public actions, and developers do not need to write them themselves ).

This part is completed by senior Java developers.

 

Advantages of MVC team Combination Mode

Can I see some advantages through my introduction? Obviously, if the MVC development model is used to organize team members, different types of personnel may have different requirements.

C_actor does not need to understand the system business. They only need to care about how to parse the request data submitted by the front-end, in the case of wmframework, the implementation of reading XML from the request and converting it to Bean (the bean mentioned here is also the pojo, Vo, Bo, and so on; then, the external interface service is transferred to the internal implementation Dao, and the related operations of the persistent layer are completed in Dao;

V_actor does not need to know J2EE at all, but only needs to know how to write the JSP header (in fact, many times we don't need to write it, because we all include it) and rationally design the page form layout, know where to put the button, where to use text, where to put a textarea, where to get a select, and so on;

M_actor does not need to care about how to design the user interface, how to make it, and how to submit user data. He only needs to know which data models are involved in the current business, whether the corresponding fields in each data table are filled, what are mandatory, what is the data type, and how the data size is defined, whether the data is stored correctly.

If you contact the company for staffing problems, there are also some advantages here. Many times, many companies will always expand their projects and cut their projects over, but the companies that can ultimately save are just a few core figures. Of course, I do not advocate this practice here, after all, it's a bit brutal. If your company and your project adopt the MVC team combination model I mentioned, your core developers and business personnel will continue to fully support the entire project, they master the core of the entire project, so in many cases, you can focus on cultivating m_actor and c_actor. The natural amount of v_actor is a little insignificant, and it is useless. However, we need at least some kindness to be human. Despite the cruelty of malls and the relentless nature of businessmen, we are all human beings. We should have more feelings and conscience. I really don't want them any more. I don't want them to sell for you if I can make the most compensation.

The above are the advantages of MVC team-based combination development. Using it can reduce the number of things that require attention and learning from our developers, sometimes, you may want to be a qualified Java Web Developer. the most basic things you need to know are Java, JSP, JS, XML, CSS, SQL, IDE, HTML, etc, too much. However, if you use the development model mentioned above, developers can focus on one aspect of their respective expertise and make good use of it. In the end, developers can better complete their tasks and do their favorite jobs, it should be much better. At least it's hard work and fun, haha ..

 

Weaknesses in MVC team Combination Mode

I have mentioned some nice things before. Next I will talk about the disadvantages of the MVC team combination model. The most obvious point is that, synchronization, sequence, availability testing, and problem tracking of development tasks among various types of members. For example, if a user's basic information maintenance module needs to add a user's birthday information one day, it will inevitably involve c_actor to modify the business data object, m_actor to modify the insert, select, update statement, v_actor modification form JSP to add birthday input box, etc. Or an exception occurs in the user's basic information business module (data is incorrect and cannot be saved). c_actor, m_actor, and v_actor are also required to complete the tracking, this naturally increases the resources consumed by the current task. Or, the user's basic information business module cannot be completed within the specified project schedule, and the final responsibility of the module is counted on. C_actor says the user form is not designed. How can we compile the action? v_actor complained that the data model didn't show how to know the page element type, which should be required, which should be optional, and which should be pulled down, I don't know which fields should be read-only. How can I design pages? m_actor? No roar v_actor Page forms. How can I know the fields required by the business model, the data type and length required. In the end, everyone is right, and the whole day is like this in the closed loop of each other's excuses. Ah, programmer, hard .....

 

Everything has two sides. I have basically mentioned the MVC team combination mode. I have used it in some projects, and I have either said yes or said yes, and I am not sure who is right or wrong, just wait for you to think about it.

(Note: All my articles are original articles. Please indicate the source for reprinting! 20100719 is written in Shenzhen .)

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.