Object Orientation

In a complex world it is sometimes easiest to put complex things inside little black boxes and not worry how they work. As long we know what to put into them and what comes out is what we expect.

This is the essence of the object orientation paradigm in software development, or software engineering. The goal is to manage the complexity by building working components where the inner workings are hidden behind an interface through which the object can be communicated with. This works by the objects having known methods which the program can call upon. Methods are the functions which the object is design to perform. Useful application can be built up by using and importantly reusing objects. Plugging them together like Lego bricks. The final program is easy to change, fixed and extend. New functionality can be added by slotting in new objects or by the inner workings of old objects being improved, as long as the methods keep the same names and rest of the program won't notice. The ultimate aim is the reduce complexity and therefore risks and costs. Java is a prime example of an object orientated programming language.

The older structured approach to software engineering projects emphasised the interconnectedness of a system. It was a big design up front and a big bang implementation. Throwing a switch and hoping it works after months of costly planning and programming.



Duncan Stonebridge. Back

laptop

The Case for New Ways of Working

The Tweatcher

The 7 Heresies of Agile

The Problem-organization-problem-more-organization cycle

The Solow Paradox - and how it's been solved

Unternehmergeist

Too much information?