Object-Oriented Programming (OOP) is based around the notion of objects. This paradigm of programming has gain high popularity in the past decade and certainly is still very valuable among developers. We are going to take a closer look at objects, classes, methods, inheritance, visibility and scope within classes. Once you have a good understanding of … Continue reading Object Fundamentals
Tag: inheritance
Design Patterns
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
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
Strategy Pattern
Imagine that you need to create a game where a character is able to fight. Character should be able to pick a weapon. Different weapon would preform different action. We need the character to be able to use his fists, a knife, and a gun. Every weapon can have its own set of attributes and … Continue reading Strategy Pattern
