Company Framework

  • Thread starter Thread starter John
  • Start date Start date
J

John

Hi

I am new to .net and am not sure how to do this. We want to setup a company
wide "framework" that includes objects, methods, properties etc. which our
projects can use. The objective is to standardise on coding and also to save
time on repetitive code. How do I go about doing this?

Thanks

Regards
 
Don't. In theory, the reusable object is a brilliant time saver, in
practice you will spend more time managing changes between versions than
developing your codebase. Of course, this depends on the circumstances.
However, remember that in order to be usable across systems, your object has
to be somewhat generic and genericity does not lead an object to perform any
specific operation very well (in general).

I'm not saying it is always bad, but it is one of those circumstances where
choosing which items to make available and which to keep under wraps is
something of an art form.
 
John said:
I am new to .net and am not sure how to do this. We want to setup a company
wide "framework" that includes objects, methods, properties etc. which our
projects can use. The objective is to standardise on coding and also to save
time on repetitive code. How do I go about doing this?

Through a process of cumulative definition and refinement. Start by thinking
about what types of applications you want to support, then describe the data
that these applications will require, and write objects that will support the
necessary data operations.
 
Thanks fo rthat. I

Alex said:
Through a process of cumulative definition and refinement. Start by
thinking
about what types of applications you want to support, then describe the
data
that these applications will require, and write objects that will support
the
necessary data operations.
 
Thanks for that. What I need is how to implement such a thing in .net
specifically using vb.net. So I create vb.net class projects. Then I build
them. How do I make them available to everyone?

Thanks

Regards
 
John said:
Thanks for that. What I need is how to implement such a thing in .net
specifically using vb.net. So I create vb.net class projects. Then I build
them. How do I make them available to everyone?

Structure your classes things using sensible Namespaces.

Strongly Name every Assembly using a single, centrally held
Strong-Naming KeyFile.

Set the Version information (in AssemblyInfo.vb) explicitly
- DO NOT allow the version to change every time you rebuild.

Build a mechanism to get these common assemblies into the
Global Assembly Cache on each machine (Development /and/
Production).

[Tightly] restrict the number of people who can make changes to the
Framework classes. A single rogue change could break a whole
swathe of applications at a stroke (Painful experience; don't go there).

HTH,
Phill W.
 
Kudos on all of these. Very good points.

I will also add that this can be a VERY difficult thing to do unless you
already have a good amount of existing applications that have suffered from
the lack of having a framework available. What I mean to say is that
starting from scratch without having an idea as to exactly what objects you
need and how they are going to be structured can literally take years to get
right.

I am going through this right now and I can tell you it is a bear. You can
get so far and then see that something really needs to be changed and then
you get to work out what changes end up cascading from those... It works
much better if you have some existing apps to go back to and review how they
are working, what objects they use and how they use them. That at least
gives you a starting point.

Maybe you want to start out with the part of the framework where you can
start to see some good value quicker. Start out by developing the parts of
the framework that control things like config storage and retrieval,
security access to apps and data, etc...











Phill. W said:
John said:
Thanks for that. What I need is how to implement such a thing in .net
specifically using vb.net. So I create vb.net class projects. Then I build
them. How do I make them available to everyone?

Structure your classes things using sensible Namespaces.

Strongly Name every Assembly using a single, centrally held
Strong-Naming KeyFile.

Set the Version information (in AssemblyInfo.vb) explicitly
- DO NOT allow the version to change every time you rebuild.

Build a mechanism to get these common assemblies into the
Global Assembly Cache on each machine (Development /and/
Production).

[Tightly] restrict the number of people who can make changes to the
Framework classes. A single rogue change could break a whole
swathe of applications at a stroke (Painful experience; don't go there).

HTH,
Phill W.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top