Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Design Questions

Design Questions

Design Questions

I have a VB6 app that the company wants to converted to .NET.  I have a template that covers about 80% of the code but when a new order comes in the last 20% needs to be customized for each customer.  The 80% covers 3 product lines (car, plane, train).  Currently send out one exe and keep copies of it and modify it over time as needed for each customer (when they want updates)
Not being familiar with OO programming, can someone give any ideas or links to sites that can get me headed in the right direction?  Want to make more saleable and make application management easier.

RE: Design Questions

once you get the current code base migrated and running I would first start with the book Domain Driven Design. This will give you the building blocks for any application moving forward. Also research the SOLID principles. these are the core of all languages.

I would also get C# via CLR. this is the nuts of bolts of the language. you could also get VB via CLR, but I would recommend moving away from VB. Personal choice, but I find c# is less wordy, and makes it easier to understand other languages.

there is a 3rd book which is escaping me right now. Something like refactoring legacy applications or legacy code refactorings. this book is all about how to make untestable code, testable.

to allow for easier application management you will want to
1. automate as much as possible
2. test as much as possible

tools of the trade for this are:
svn (visual svn)
mbunit or nunit or xunit
Rhino.Mocks (for unit testing)
criuse control .net

As time progresses you may also want to introduce 3rd party frameworks which reduce the amount of code you need to write.

My personal favorites are:
Rhino.Tools (reduce configuration friction)
Castle Windsor (IoC and other goodies)
NHibernate (ORM)
MbUnit (testing framework)

there are other frameworks out there that work just as well, these are just my personal choices.

there are a lot of great forums on yahoo and google which support these concepts and frameworks.

Jason Meckley
Specialty Bakers, Inc.

RE: Design Questions

Thanks for the reply.  I will checkout the books you mentioned.  One more question.  Could you me some idea about the following.

If I have an exe at client site then make changes to one of the dll's at the office over time.  Then the client calls and wants something updated, is this going to be a problem?  Them having an older version of a dll with the new exe compiled with a newer one?

RE: Design Questions

I deploy my apps using xcopy. There is not a fancy install process or registry entries or service installs. they are pretty straight forward.

that said, I find it best just to deploy the entire app with each update. If the public API changes then  then there's a good chance client assemblies will need to be updated as well.

if the changes to the assembly are internal, then you may not have to update the client assemblies.

ultimately the answer is... it depends :)

Jason Meckley
Specialty Bakers, Inc.

RE: Design Questions


Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close