Software development field has progressed massively in the time it has existed. From first programs in machine code to high-level language-based applications with complex structures. These days even the simplest of the applications you make is likely to be quite complicated even in its fresh form. Programmers evolve their level of understanding their applications and … Continue reading Design Patterns
Category: Design Patterns
Model-View-Controller
Many applications out there share a similar architecture. Since usually applications have similar data flow, it is obvious for them to comply with the best standard for the architecture, something tried and tested. Model-View-Controller, or MVC, is one of the most commonly used architecture patterns that is used in development almost all web applications, and … Continue reading Model-View-Controller
Proxy Pattern
Each application has different architecture to it. Architecture can vary based on functionality, extension, flexibility, and infrastructure. Programming for certain domains can require a certain approach. For instance, notice how a typical web application can be different from desktop application. Even without knowing the logic and purpose of the application, we know that they will … Continue reading Proxy Pattern
State Pattern
Programming application always involves dealing with a state of application at any point in time. State allows us to predict what application is going to behave like in certain point in time under certain inputs. Unless you are writing HTML code, which is stateless, you will get to deal with multiple states, and multiple logical … Continue reading State Pattern
Composite Pattern
In applications we get to deal with a variety of data structures: trees, lists, arrays, queues, stacks, etc. Making sure that you choose the appropriate data structure for a particular problem is very important. If you choose right, you will ease the process of creating an application. If not – you risk unnecessarily increase complexity … Continue reading Composite Pattern
Iterator Pattern
When programming, one gets to deal with all sorts of information representations. You have to make sure that information is accessible, accurate, and easy to interact with. It is important to provide proper channels of handling information representation, be it array or collection, or a single variable. In order to properly do that we often … Continue reading Iterator Pattern
Template Method Pattern
It’s all about algorithms, right? Ever since the word computer came to exist, word algorithm was behind it. Indeed, whenever you develop something, you define steps how to accomplish any given task. There are many ways to complete any task: a lot of poor ones, a few good, and one or two great ones. We … Continue reading Template Method Pattern
Facade Pattern
Applications reach different levels of complexity within the development time span. Some settle down with just several classes. Others make to dozens of classes and complex interrelations between them. When that happens you want to make sure that you have proper mechanisms of controlling it, and that those mechanisms are simple enough for client to … Continue reading Facade Pattern
Adapter Pattern
Have you ever experienced inconvenience of having a different type of socket for your electric plugs, like when you travel to a different country? If you don’t have an adapter, you will not be able to use that socket and power up your devices. It’s good that adapters are generally well available to purchase in … Continue reading Adapter Pattern
Command Pattern
Imagine that we need to develop an application for a hotel. What we need to make is a device with that has multiple buttons on it that correspond to certain actions: calling room service, requesting laundry service, getting latest menu from the restaurant, refilling refrigerator and so on. We want to be able to fit … Continue reading Command Pattern
