Design and Development with Enterprise Templates
Before a development team can code a distributed application, you need to communicate the application's design to the team. In the early design phases, you transform the business need that sparked the idea for the application into a specification with which the application must eventually comply. After defining the application's functionality, you can design its structure. Next you communicate design specifications to the development team and then the team can begin coding and testing. Visual Studio Enterprise Templates are part of the process that helps you communicate the application design and enforce its implementation.
The most common use of Enterprise Templates is to create multiple applications, either of the same type or having the same architecture and design rules. The similarity of the applications means you can gain efficiencies by starting each one from the same template. To effectively use a single template for a set of similar applications, you need to ensure that your template provides a common architecture and a common set of design rules for the target applications. This makes the best use of the features Enterprise Templates offer: reuse of code, application of policy, and presentation of custom Help.
Resources for Each Step
This section describes resources for planning a distributed application and the most appropriate way to use Enterprise Templates to communicate your application design and provide initial project structure to the application developers.
- To read about the history and nature of distributed applications, see An Overview of Distributed Applications.
- To learn about planning and designing distributed applications, see Planning Distributed Applications, Design Goals, Data Design, and Design Tools.
- After you write your design specification, Enterprise Templates can help you translate that design into an initial project structure and guidance during application development. For more information on how Enterprise Template can help your projects, see Advantages of Using Enterprise Templates to Create Distributed Applications.
- After you have chosen the information to convey to the development team through an Enterprise Template, obtain the right template to convey this message. Acquainted with the application's architecture and the development team's skills (for example, proficiency with specific programming languages), choose the Enterprise Template likely to serve best as a basis for the first target application. To make this choice, envision the ways you can change the template's prototype files (source code) to make it more closely resemble the target applications. You can also change policy and custom Help. For more information on choosing a template to modify, see Choosing the Right Template for Your Distributed Application.
- Optionally, edit the template's policy file to add the appropriate policy. For more information, see Modifying Policy Files.
- Optionally, create custom Help topics. To learn how to do this, see Providing Custom Help for Enterprise Templates.
- Edit the template's source code files and, if necessary, change the structure of the project. As stated in General Templates Must Be Customized, the best way to do this is to first instantiate an application with the template and make changes to the application before turning it back into a template. Do not change the templates that ship with Visual Studio. Rather, make and edit a copy of one of them, in order to keep the originals unchanged. To learn how to do this, see Prototype File Customization.
- Check the customized project into source control. Now, when developers check out all or part of the project, the new policy is in effect and custom Help is visible. For more information, see Distributing Policy, Prototypes, and Custom Help.
- Development work can begin. During application development, Enterprise Templates help developers focus their efforts on tasks deemed most productive by the architect, using methods deemed most appropriate. For more information, see Application Creation Process With Enterprise Templates.