-
Recent Posts
Recent Comments
- Alper Sunar on Presenters, Use Code Snippets for Live Coding
- Carlos Ribas on Presenters, Use Code Snippets for Live Coding
- rsanchez1 on Presenters, Use Code Snippets for Live Coding
- John Teague on Presenters, Use Code Snippets for Live Coding
- Carlos Ribas on Presenters, Use Code Snippets for Live Coding
Archives
- May 2013
- March 2013
- January 2013
- November 2012
- June 2012
- May 2012
- March 2012
- February 2012
- December 2011
- November 2011
- October 2011
- August 2011
- July 2011
- June 2011
- May 2011
- March 2011
- December 2010
- August 2010
- June 2010
- March 2010
- February 2010
- January 2010
- November 2009
- October 2009
- August 2009
- June 2009
- October 2007
Categories
Meta
Category Archives: refactoring
Dependency Inversion: ‘Abstraction’ Does Not Mean ‘Interface’
A coworker recently asked if we should always abstract every object into an interface in order to fulfill the Dependency Inversion Principle (DIP). The question stunned me at first, honestly. I knew in my head that this was a bad … Continue reading
Also posted in Uncategorized
4 Comments
DI and IoC: Creating And Working With A Cloud Of Objects
A few months ago, I posted some thoughts and questions on the proper use of Inversion of Control (IoC) containers and the Dependency Inversion (DI) principle. Since then, I’ve had the opportunity to do some additional study and teaching of … Continue reading
Also posted in DDD
Leave a comment
Separation of Concerns by example: Part 5
In our last example, disaster finally struck our quaint little application. A strange defect showed up, which would be almost impossible to reproduce back on our developer machine. But because we’ve broken out our dependencies, our CustomerFinder became easier to … Continue reading
Separation of Concerns by example: Part 4
In the last part, we finally broke out the caching and data access concerns from our original class. The series so far includes: Separation of Concerns – how not to do it Separation of Concerns by example: Part 1 – … Continue reading
Entities and the Law of Demeter
The Law of Demeter, and its corresponding code smell, Inappropriate Intimacy, are some of the best bang-for-your-buck code smells that you can address. The basic idea behind each of these concepts is code related to an object should probably be … Continue reading
Separation of Concerns by example: Part 3
We made quite a bit of progress separating out the concerns in Part 2, but there are still some issues with our current design. Other parts in this series include: Separation of Concerns – how not to do it Separation … Continue reading
Separation of Concerns by example: Part 2
Separation of concerns is one of the fundamental tenets of good object-oriented design. Anyone can throw a bunch of code in a method and call it a day, but that’s not the most maintainable approach. So far, we’ve looked at: … Continue reading
Separation of Concerns by example: Part 1
In the prelude to this series, I looked at a snippet of code that took the kitchen sink approach to concerns. Here’s what we started out with: public class CustomerManager { [DataObjectMethod(DataObjectMethodType.Select, false)] public static List<Customer> GetCustomers(int startRowIndex, int maximumRows) … Continue reading
Separation of Concerns – how not to do it
In a recent article on layered LINQ applications in the latest ASP.NET PRO magazine (no link, you have to pay), the author proposes separating your application into three distinct layers: User Interface (UI) layer Business Logic Layer (BLL) Data Access … Continue reading
Failures of aimless large-scale refactorings
At the recent Austin Code Camp, I heard a few stories after my Legacy Code talk about teams attacking their legacy code in prolonged refactoring binges that never seemed to end. Never ending, because no one had a good idea … Continue reading
