Visual Studio Development Bookmark and Share   
 index > Visual Studio Guidance Automation Toolkit > Factoring Factories :)
 

Factoring Factories :)

Hi,

I'd be interested to hear some advice / experience / opinion on how to create a set of related factories and allow some freedom in the way that the solutions and projects they create are organised.

For example, can I build one factory with the GAT that offers to create more than one type of solution, and conversely, can I build several factories and combine their output when unfolded into a single solution.

Another example: if I take the service factory and the smart client factory straight from MSDN, can I easily create one solution from the output of these two factories?

Thanks,

Scott.

Scott Simms  Monday, August 07, 2006 2:58 AM

Hi Scott -

At the moment, a Guidance Package is essentially a unit of factory composition. A factory can contain multiple guidance packages (see the Web Service Software Factory as an example), and you can use multiple guidance packages (even if they are from different factories) in a single solution. So you could try building a solution with the Smart Client factory and enable the Data Access guidance package from the Service Factory.

While this capability works for any guidance package, whether it makes sense to combine any set of guidance packages in a single solution will depend on how the guidance packages were architected and what assumptions they make. Some combinations should make perfect sense, but others wouldn't work at all (for example combining guidance packages for Web and Smart Client development).

Tom

Tom Hollander  Monday, August 07, 2006 5:03 PM

Hi Scott,

Yes, that action looks like it is programmatically enabling a package at runtime.

btw, there is no doco for composing packages in the GAT help/docos.

vga  Friday, September 01, 2006 8:42 PM

Hi Scott -

At the moment, a Guidance Package is essentially a unit of factory composition. A factory can contain multiple guidance packages (see the Web Service Software Factory as an example), and you can use multiple guidance packages (even if they are from different factories) in a single solution. So you could try building a solution with the Smart Client factory and enable the Data Access guidance package from the Service Factory.

While this capability works for any guidance package, whether it makes sense to combine any set of guidance packages in a single solution will depend on how the guidance packages were architected and what assumptions they make. Some combinations should make perfect sense, but others wouldn't work at all (for example combining guidance packages for Web and Smart Client development).

Tom

Tom Hollander  Monday, August 07, 2006 5:03 PM

Thanks Tom,

I did notice that the Web Service factory is made of multiple guidance packages. It wasn't immediately obvious to me how they were being combinedor referenced. Is there any doco you can point me to inthe GAT?

Thanks,

Scott.

Scott Simms  Wednesday, August 09, 2006 6:41 AM

Hi Tom,

I have noticed the following in the 'CreateASMXSolution' recipe. I'm guess that this activates the dependent package?

<!-- Other settings -->

<Action Name="EnableDACGeneratorGP" Type="EnableGuidancePackageAction" PackageName="DataAccessGuidancePackage">

Scott Simms  Tuesday, August 15, 2006 2:13 AM

Hi Scott,

Yes, that action looks like it is programmatically enabling a package at runtime.

btw, there is no doco for composing packages in the GAT help/docos.

vga  Friday, September 01, 2006 8:42 PM

You can use google to search for other answers

Custom Search

More Threads

• Web Service Software Factory - Data Types from XSD
• creating receipe using short cut
• Access to $fileinputname$
• What causes the project to be added under Guidance Packages when creating a new project?
• Use T4 when unfolding solution
• Licensing issue of Software Factory's Pre-requesites - GAX, GAT etc..
• Does Visual Studio 2008 Professional Edition support OpenMP nested parallelism?
• Unfoldtemplate getting information out of the RunStarted methode "replacementsDictionary"
• Alter Name of Solution
• Couldn't find assembly "Microsoft.Practices.RecipeFramework.VisualStudio"