Meeting the needs of your business from a distance

Object Oriented Design Principles

by Mark Shiffer 11. February 2009 18:35

Jeff Atwood had a pretty good post over on his blog that echoes some of my same sentiments regarding strict adherence to some set of rules/patterns without room for interpretation, thought, adaptation and essentially doing what makes the most sense for one’s particular situation/project.

That being said though, he did provide a good list of some standard principles related to SOLID object oriented design principles along with links to related PDFs that I am repeating here for reference:

The Single Responsibility Principle
A class should have one, and only one, reason to change.

The Open Closed Principle
You should be able to extend a classes behavior, without modifying it.

The Liskov Substitution Principle
Derived classes must be substitutable for their base classes.

The Dependency Inversion Principle
Depend on abstractions, not on concretions.

The Interface Segregation Principle
Make fine grained interfaces that are client specific.

The Release Reuse Equivalency Principle
The granule of reuse is the granule of release.

The Common Closure Principle
Classes that change together are packaged together.

The Common Reuse Principle
Classes that are used together are packaged together.

The Acyclic Dependencies Principle
The dependency graph of packages must have no cycles.

The Stable Dependencies Principle
Depend in the direction of stability.

The Stable Abstractions Principle
Abstractness increases with stability.

Tags: , ,

Research | Programming

Quote of the Day – X#

by Mark Shiffer 6. February 2009 16:38

From user 48klocs response about the X# language:

“When you do a mashup, you're supposed to get your peanut butter in my chocolate, not lodge your fork in my goddamned eye socket.”

Source

Tags:

AppJet, JavaScript on the server?

by Mark Shiffer 6. February 2009 16:14

I was reading a blog recently that mentioned a product that was not really all that exciting, however it mentioned using AppJet to run JavaScript server-side. I found that curious; first, why would you want to run JavaScript server-side unless you really enjoy messy code? None the less, it was a new concept to me and one that I would like to check out at some point. According to AppJet’s website they offer:

  • Server-side JavaScript
  • Free hosting in the cloud
  • Persistent Object Database
  • Browser based development (ugh!)

Tags:

Research | Programming

Content Management System Comparison

by Mark Shiffer 3. February 2009 16:39

I ran across a good website that provides a detailed listing of CMS software available along with side-by-side comparisons of the systems and their features. The site can be found here: CMSMatrix.org

Tags:

Websites

Copyright © 2001-2012 MS Consulting, Inc. All Rights Reserved.