Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8220111
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 7, 20262026-06-07T13:24:33+00:00 2026-06-07T13:24:33+00:00

I am continuing the development of an ASP.NET application (web form based) where the

  • 0

I am continuing the development of an ASP.NET application (web form based) where the previous developer did not follow principles of good Object Oriented design i.e. SOLID (http://www.remondo.net/solid-principles-csharp-interface-segregation/). I have read posts like this: Long-held, incorrect programming assumptions.

The problem is that a lot of the classes have low cohesion and are highly coupled and a lot of the classes do not have a single responsibility (they have many). My specific question is: should I start following the SOLID principles or just continue developing by tweeking and adding more to the classes? I have always tried to follow principles like SOLID in the past, but the application I am talking about is very large and complex. I am the only developer working on this project.

A complete rewrite is out of the question at the moment but will be possible one day.

Update 15/07/2012
So far I have discovered that SOLID is a design principle and GRASP is a design pattern, which is perhaps more suitable to MVC rather than a Page Controller type application. Mock objects are also perhaps more suited to MVC according to this link: http://www.asp.net/mvc/tutorials/older-versions/overview/asp-net-mvc-overview. Based on the response so far it is always good practice to follow SOLID principles. However, the answers so far do not recommend design patterns for form based apps.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-07T13:24:35+00:00Added an answer on June 7, 2026 at 1:24 pm

    Try refactoring bit by bit.

    If you are working on a module, try adding a few interfaces here and there 😉 as you go. Any new code that you write should be SOLID. Try encapsulating old code as much as possible, put old crap behind a facade. You don’t have to rewrite it right now, maybe never. As long as you can encapsulate old code behind a facade and write unit tests for the facade you should feel a lot better.

    Example: So lets say you have a collection of classes that implement some piece of functionality, ie. invoice processing. Right now I imagine those classes are used in many places and there is a lot of duplication going on. The code for calculating total invoice amount is copied on every page that displays it. What I would do in that case is to create an Invoice service which will expose methods for getting an invoice, adding new lines, calculating total amount, etc. You can than put the code that you have in this service without much refactoring, you will keep the same db schema and so on. But from now on your pages will interact only with IInvoiceService interface and you can mock it nicely. It is a bit of ‘swiping dust under the carpet’ but at least you can stop the crap spreading even further. Next time you need to do something in the invoicing module (fix a bug, implement new feature) you clean the existing code a bit. Over time the amount of dust under the carpet gets smaller and smaller. You just need to stick to your guns and make sure that the service interface stays nice and clean.

    You may need to make some more system-wide changes, like introducing DI framework, but try keeping the changes to minimal. Usually when you start going to far you can easily find yourself rewriting everything, and you don’t want that.

    Make small changes, commit often.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have an ASP.NET c# web application published to a server of ours. It
I am developping a web application by using the ASP .NET MVC 3 framework.
I've written a class in VB.Net that is consumed in an ASP.NET Web Application
Our asp.net web site is currently deployed to an IIS7 server. We are setting
So I created an ASP.NET 4 application in VS2010, that needs to play sound
I'm early in development on a web application built in VS2008. I have both
Continuing on previous questions ( here , and here ), I implemented a basic
I am continuing on from a previous question relating to loading instances of plugins
I'm receiving the following error when deploying a feature containing ASP.NET pages to our
My Problem We are developing a locally-hosted web application for small businesses. We also

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.