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 to1. automate as much as possible2. test as much as possible

tools of the trade for this are:svn (visual svn)mbunit or nunit or xunitRhino.Mocks (for unit testing)nantcriuse control .netresharper

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

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?