Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Design Questions

Status
Not open for further replies.

BBBDaddy

Programmer
Aug 19, 2008
6
US
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.
 
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)
nant
criuse control .net
resharper

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
Programmer
Specialty Bakers, Inc.
 
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?
 
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
Programmer
Specialty Bakers, Inc.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top