From: Michaela Brauner on
Hello together,

I'looking for a good instruction.
I found this one.
http://www.dofactory.com/Patterns/Patterns.aspx
Abstract Factory Creates an instance of several families of classes
Builder Separates object construction from its representation
Factory Method Creates an instance of several derived classes
Prototype A fully initialized instance to be copied or cloned
Singleton A class of which only a single instance can exist

My target, my goal is like this.
App.exe V1.0.0.1
IModul01 -- Module_Version01.dll
IModul02 -- Module_Version01.dll
IModul03 -- Module_Version01.dll
IModul04 -- Module_Version01.dll
IModul05 -- Module_Version01.dll

After n time some improvements in module3 was necessary.

App.exe V1.0.0.1
IModul01 -- Module_Version01.dll
IModul02 -- Module_Version01.dll
IModul03 -- Module_Version02.dll ####
IModul04 -- Module_Version01.dll
IModul05 -- Module_Version01.dll

### Without new compile, application, I would like to send the new dll
to the customer. No new exe, no changes in the interface, only the DLL!!

I now check on the right model.
Can somebody help me.
What is the right intonation. Which factory model?

Have somebody sample code in C#, VS2008 ?

The exe check the DLL and loads the right.

Many greetings Michaela
From: Gregory A. Beamer on


"Michaela Brauner" <MichaelaBrauner(a)disc.com> wrote in message
news:ePUvMNu5KHA.5808(a)TK2MSFTNGP02.phx.gbl...
> Hello together,
>
> I'looking for a good instruction.
> I found this one.
> http://www.dofactory.com/Patterns/Patterns.aspx
> Abstract Factory Creates an instance of several families of classes
> Builder Separates object construction from its representation
> Factory Method Creates an instance of several derived classes
> Prototype A fully initialized instance to be copied or cloned
> Singleton A class of which only a single instance can exist
>
> My target, my goal is like this.
> App.exe V1.0.0.1
> IModul01 -- Module_Version01.dll
> IModul02 -- Module_Version01.dll
> IModul03 -- Module_Version01.dll
> IModul04 -- Module_Version01.dll
> IModul05 -- Module_Version01.dll
>
> After n time some improvements in module3 was necessary.
>
> App.exe V1.0.0.1
> IModul01 -- Module_Version01.dll
> IModul02 -- Module_Version01.dll
> IModul03 -- Module_Version02.dll ####
> IModul04 -- Module_Version01.dll
> IModul05 -- Module_Version01.dll

Much of this depends on how the reference is bound and how the application
is configured. If the references bind to a particular version, you can trick
the app to accept the new version by keeping the same version number, but
that is very kludgy. You can also specify to accept newer versions
automatically. Or, if you have referenced in the config, you have the option
of not specifying a particular version. Just don't rename the actual DLL, or
you can get end with a mighty crash. ;-)

The factory pattern will not solve the "pop a new assembly in the bin"
problem. Now will prototypes or builders. Singleton is not applicable.

--
Peace and Grace,
Greg

Twitter: @gbworld
Blog: http://gregorybeamer.spaces.live.com

************************************************
| Think outside the box! |
************************************************

From: Peter Duniho on
Michaela Brauner wrote:
> [...]
> ### Without new compile, application, I would like to send the new dll
> to the customer. No new exe, no changes in the interface, only the DLL!!
>
> I now check on the right model.
> Can somebody help me.
> What is the right intonation. Which factory model?

As Gregory suggests, the question of updating your implementation is
orthogonal to the question of the API design (i.e. whether you use a
factory pattern, singleton, whatever).

Assuming you don't rename the DLL itself, updating the DLL is simply a
matter of deploying a new version of the same DLL. If you want to
rename the DLL, then you should probably also rename the type(s)
implementing whatever you need from the DLL and then use some kind of
plug-in style architecture to retrieve from the DLL the implementation
you want.

I strongly suggest just using the "update the DLL, keep the same name
for DLL and types" approach. It will be much simpler.

Pete
From: Michaela Brauner on
Hi,

Do you have a sample code?
C#, VS2008 ?


Thanks a lot.

Greeting Michaela
From: Family Tree Mike on
On 4/29/2010 6:33 AM, Michaela Brauner wrote:
> Hi,
>
> Do you have a sample code?
> C#, VS2008 ?
>
>
> Thanks a lot.
>
> Greeting Michaela

Do you mean example code for design patterns? If so, look at this site:
http://www.dofactory.com/Patterns/Patterns.aspx.

--
Mike