Architectural patterns describe the fundamental structure of a software system and are often based on design patterns. The five Pattern-Oriented Software Architecture series books provide a precious source of architectural patterns.
I'm happy to present today a guest post from Alexander Eisenhuth. Alexander will write about his passion: good software architecture.
This post is unique because I have written about all the topics mentioned in this post already. Therefore, I only provide a few words about the topic and a link to the post mentioned.
The Covariant Return Type of a member function allows an overriding member function to return a narrower type. This is particularly useful when you implement the Prototype Pattern.
When you want to use a user-defined type in a range-based for-loop, your user-defined type has to implement the Iterator Protocol.
A Null Object encapsulates a do nothing behavior inside an object. It is often pretty comfortable to use a neutral object.
A value object is a small object whose equality is based on state, but not identity. Typical value objects are money, numbers, or strings.
The concept of a regular type goes back to the creator of the Standard Template Library (STL) Alexander Stepanov. A regular type is a user-defined type and behaves like a built-in type.
The rule of zero, or six, is one of the advanced rules in modern C++. I wrote in my current book "C++ Core Guidelines Explained: Best Practices for Modern C++" about them. Today, I want to quote the relevant parts of my book in this post.
Argument-Dependent Lookup (ADL), also known as Koenig Lookup, is a set of "magical" rules for the lookup of unqualified functions based on their function arguments.
Currently are 140 guests and no members online
Kubik-Rubik Joomla! Extensions