I have a standard application and in this case, it is an Accounting ASP Net MVC application. Now, I have a new client that has their own specific requirements like other fields and some custom behavior that doesn’t make sense to be included in the standard application.

The most straightforward thing that I could do is to literally copy paste the whole solution and build on top of the standard solution. However, this would mean that if I fix a bug on the standard application, I would also do it on the other solution. Same goes to a new feature implemented in the standard accounting. I would have to do it in both solution and that would be a nightmare to maintain.

Now I’m thinking what would be the best thing to do here. Just to clarify, if possible, I would also like to access the controllers and view of the standard application and sort of inherit it probably to make some client specific change.