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: Principles
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
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
Orthogonality
When developer works through a particular systems, a variety of modules being developed: user interface, filters, generators, controllers, models, and so on. In this variety and plurality often lies a danger of connecting and making separate modules dependent on each other. There is a healthy degree of dependence where a module can request an object … Continue reading Orthogonality
Don’t Repeat Yourself
Every piece of Knowledge must have a single, unambiguous, authoritative representation within a system From time to time it becomes easy to lower your standard and take a shortcut here and there. For developer that often times means duplicating code instead of encapsulating it in a separate class or even a function. Of course, there … Continue reading Don’t Repeat Yourself
