System development based on the MVC team composition pattern

Source: Internet
Author: User

The MVC Team mix model is mainly rooted in the MVC evolution that is often said in the Java EE. Actually this thing is my own invented, but also experienced some project practice, today took out in with the people here to say, one to make up for a long time do not write technical articles of the defects, or many people say I as a software person, in the blog even the least technical things are not, is ashamed. And I also want to experience the slightest experience to tell everyone, as to is right is wrong, useful or not, that only God knows, haha ....

When it comes to the MVC Team mix model, let's talk about my framework wmframework,

Wmframework at this stage to adopt the main technology: S2,IBTATIS2,SPRING3,HTML,JS, Xml,ajax, the entire technical framework is also invented by himself, has been silently like, improve, The programmer's career over the years has left something to miss. I have always been not stingy people, so in the back of the time I will gradually put their own wmframework to share with everyone, hoping that you can expect, of course, more dream to get the people's insight. The main thing I'm talking about today is how my team uses the MVC Team mix model for software development.
MVC team Mix mode?
What is the "MVC Team Mix Model", the main meaning is to have a team of members in accordance with their individual integrated skills of division and collaboration, specifically for each business module development, Adopt the model that the member carries on the division and Cooperation completes. A module, Zhang San complete part, John Doe complete another part, Harry and complete the other parts. This is different from the common people by a person to bear a module of development cooperation mode.

Let's talk about our common development model. As we all know, in our usual software system development, often this is the case, first by the project manager or team leader to do a unified task allocation, the specific function point module assigned to each of the team's programmers. such as user registration Zhang San is responsible for, organization management John Doe responsible; which day and which day this module is completed by WHO, which day which part by who realizes. This is how the entire coding plan is assigned until all of the system's functional modules are distributed to the appropriate developers. Waiting for our programmers to encode all the modules, the code, the function of the system integration, integration, testing, and so on, this is common Gantt Chart mode, but also we usually meet the development pattern.
My proposed MVC Team mix pattern, which differs from the biggest difference above, is that I divide any of the business module development tasks into 3 parts, which are done by people of three different roles, which I call MVC, the M_actor model performer, V_actor view performer, c_ Actor controller performer.

Below I give the main description of these three:

M:m_actor Model Performers

Main task: The Background business processing model, mainly is the dao,sqlmap writing; (in wmframework, I have weakened the DAO layer, because in wmframework our DAO is public, the developer basically does not have to write DAO.) )

Personal requirements: Developers are required to operate a strong database, fully understand the overall business process, to ensure that its sqlmap written SQL to complete the current module business requirements.

This part can be done by a combination of database developers and requirements analysts.
V:v_actor View Performer

Main task: The foreground Form view, mainly is Jsp,html,js's writing, completes the page data form the design, the realization, the business data JS checks, submits and so on. (In Wmframework, I for the page form data submission, validation is also a common custom JS foreground framework, developers only need to write a few short sentences JS script call can be.) )

Personal requirements: Developers need to have a good UI design capabilities, can be more user-friendly page operation, so that it has a better experience, know some JS syntax and HTML tags to use.

This is partially done by artists, UI technicians, and demand analysts.

C:c_actor Controller Performers

Main tasks: Action in S1/S2, Business layer Interface service writing;

Personal requirements: Developers are familiar with common Java development patterns, have good Java development capabilities, can handle request requests very well, respronse return responses and so on. (In Wmframework, I also weakened the use of the action, many times for most page requests only need to invoke the common action, the developer basically do not write their own).

This is part of a senior Java developer.

MVC Team Mix Model benefits

Do you see some good in my presentation? Obviously, if you use MVC's development model to organize team members, the requirements for different types of personnel will vary.
C_actor can do without understanding the system business, they only need to care about how to parse the foreground submitted request data, Wmframework is to complete from the request inside read XML into the bean (here is the bean that we often say Pojo, Vo, bo, etc.) , and then through the external interface service to the internal implementation of DAO, and finally in the DAO to complete the relevant operation of the persistence layer;
V_actor can completely do not know what is called the Java EE, just know how to write the JSP header (in fact, many times do not write, because we are included in the well), reasonably design the layout of the page form, know where to put the button, where the text, Where to put a textarea, where to get a select, and so on;
M_actor does not need to care about how the user interface is designed, how it is made, and how the user data is submitted. He just needs to know what the current business involves in the data model, whether the corresponding fields in each data table are filled in, which are required, what the data type is, how the data is defined, whether the data is stored correctly, etc.
If you're connected to a company staffing issue, there's a bit of an advantage here. Because a lot of times, many companies, always in the project to expand the recruitment, the end of the project is cut, and finally can be retained is that a few core figures, of course, I am not advocating this approach, after all, some ferocious. If your company, your project is developed using the MVC Team mix model I'm talking about, then most of the time your core developers, business people are still supporting the whole project, they have the core of the whole project, so many times you can focus on M_actor and C_actor, for v_ The actor is naturally somewhat insignificant, and it's no harm to abandon it. But a man at least need some kindness, despite the brutal shopping malls, businessmen ruthless, after all, we are people, should have a little more feelings, a little more conscience. Really do not want them, to the fullest extent to compensate for the people who work for you.
These are the advantages that I can see based on the MVC Team mix pattern development, which allows our developers to reduce the number of things they need to focus on and learn from, sometimes to be a qualified Java Web Developer, you probably need to know this: Java, JSP, JS, XML, CSS, SQL, IDE, HTML, and so on, too miscellaneous, too much, too annoying. But if you use the development model as described above, let the developer focus on the aspect of their own expertise, and do a good job, finally better to complete their task, do their favorite work, that feeling should be much better. At least it's hard and happy, haha.
MVC Team Mix Model disadvantage
In the front to say something nice, the following I say the drawbacks of the MVC Team mix model, the most obvious point is that the various types of members of the development task synchronization, sequencing, usability testing, problem tracking and so on. For example, a user basic information maintenance module, if one day customers need to add a user birthday information, will inevitably involve c_actor for business data Object modification, M_actor modify Sqlmap insert,select,update and other statements, V_actor Modify the form JSP to add a birthday input box, and so on. Or the user basic Information Business module anomalies (data is incorrect, can not be saved, etc.) also necessarily need c_actor, m_actor, v_actor to cooperate with the completion of tracking, which naturally increases the current task consumption of resources. Or the user basic Information business module can not be completed in the scheduled project time, its ultimate responsibility should be counted on who's head. C_actor said that the user form is not designed, how to complete the action of writing, V_actor complained that the data model does not give how to know the page element type, which should be filled, which should be selected, which should be pulled down, which should be read-only, I do not know, call me how to design the page; m_actor , Growling v_actor page form None, how do I know the business model needs those fields, what type of data it needs, and how long it takes. The end is all the blame, everyone is right, all day is so entangled in each other's excuses closed loop, endless. Hey, programmer, it's hard.

There are two sides to everything, and I'm basically talking about the MVC team mix pattern. I have used it in some projects, there is a good deal of course there are jumping dozens, after all, is who is right, who is wrong, I will not know, only to you to think, to understand.

more details

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.