Category Archives: Software development

Software development is the process of computer programming, documenting, testing, and bug fixing involved in creating and maintaining applications and frameworks involved in a software release life cycle and resulting in a software product.

– Definition from wikipedia

The discovery of Solr

A few months ago an architect at the company where I work, Shaun Kiesewetter introduced Solr to the rest of the architects during one of our meetings. Solr is a fast enterprise level search platform. It comes with its own syntax, indexing and its search ability is lightning fast. We had search functionality in our application… Read More »

The singleton pattern

The singleton pattern is a behavioral pattern that restricts the number of instances of a class to one instance. The decision to use of a singleton should not be done likely as it could hamper the performance of the application and it could most likely not be thread safe. It is also important to note… Read More »

The observer pattern

The observer pattern is the most powerful pattern within software engineering when it comes to communication (event handling) within an application. It is also called publisher and subscriber pattern and also known as the dispatcher pattern. The observer is a structural and behavioral pattern. The observer is mostly used where different sections of user interfaces… Read More »

The adapter pattern

The adapter pattern is a structural pattern also known as a wrapper pattern. It is mostly commonly used in software engineering where the adaptee can not be altered as it is outside the control of the system and the developer. To contain this volatility the adaptee is wrapped by a class that exposes the functionality… Read More »

The template method pattern

The template method pattern is a behavioral pattern. That means it is a pattern that cannot clearly be seen from UML as the functionality of the pattern is in the behavior (the implementation) An UML expression of the pattern might look like this. In this example the RefinedAbstraction class is inheriting the template method pattern… Read More »

The bridge pattern

The bridge pattern is a design pattern used in software engineering that is meant to “decouple an abstraction from its implementation so that the two can vary independently”, – Wikipedia The bridge pattern is one of my favorite patterns to use as it is so elegant. As the description above states it allows the abstraction and implementation to be separated so they con evolve independently… now… Read More »

Identity providers and their protocols

Within the enterprise arena it is common to have a Identity provider for the organization. The idea behind the identity provider is to provide the users working at the organization with single sign-on capability so that they do not have to sign into every single application that they wish to use, instead their credentials are… Read More »