OO Design Principles

Object Oriented Programming (OOP) is a methodology for modelling and designing software systems which encompasses the basic concepts of encapsulation, abstraction, inheritance and polymorphism. This methodology is guided by a set of principles, called the Design Principles. These principles show the right direction of designing and helps in avoiding costly mistakes at the designing stage. This project is an effort to document the design principles, their derivatives, associations, examples or even specializations for certain programming languages.

The design principles are not important only from a software design point of view, but also from a business because design principles enable flexible designs, which can evolve with the business requirements with minimum effort, time and cost.

Following are the design principles that have been covered:

Class Design

Pacakge Design

This list will be continuously updated to reflect the design principles covered.

Technorati tags: , ,

Copyright Abhijit Nadgouda.

4 Responses to “OO Design Principles”

  1. Abhijit Nadgouda @ iface » Blog Archive » From Paper To Web Says:

    […] However, for this to happen, the journalist has to take explicit action to make sure that the information about external or internal references is provided in the article. In addition to linking to external articles, the journalist can build a thread or series of articles on a subject and provide all the links in a single place, which cannot be done on paper, for example OO Design Principles. […]

  2. Radhika & Bhushan Says:

    Sir ,

    I’ve a question , I think you can help me . In his book, Martin discusses the Design principles SRP, OCP, LSP, DIP, and ISP. Can you please explain how any three of these apply specifically to **agile** methods more than to **non-agile** methods.

    Or all of these apply just as much to non-agile approaches only.

  3. Abhijit Nadgouda Says:

    Hi Radhika & Bhushan,

    First of all, don’t address me as sir, call me Abhijit.

    The design principles are the basics of Object Oriented design to make it more reusable and flexible. In fact a lot of best practices and design patterns are based on them. So, they are not agile development specific.

    However, they fit right in the agile methodologies which demand dynamic response to the business changes.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: