Workshop: Elements of Object-Oriented Design
Table of contents
Last Saturday we had a very useful workshop with Zoran Horvat. The topic was: Elements of Object-Oriented Design.
Zoran Horvat is an architect and software designer, independent consultant and software architecture coach. Zoran has more than 15 years of experience in developing software. Since 2014 he has also been the author at Pluralsight.com, where he prepares a series of courses on design patterns. In recent years he has been devoted to studying different approaches to software architecture, primarily those that help maintain large business applications.
Zoran Horvat, speaker
The objective of the workshop was to grasp which elements of design are significant, so that such elements can be properly addressed and implemented in a manner which is correct and has long-term sustainability
The workshop covered the following fields:
- Emergent Objects - Introductory lesson that shows how objects are created as a result of the need to define a certain concept more closely; this process is contrary to classic technique which analyzes requests and then models classes that implement the requests. Participants will gain an insight into how a specific design appears as a result of solving immediate problems and inabilities of the current code. Thus obtained design corresponds user demands in a better way while being more flexible on those axes that are essential to the user.
- Branching and Looping - After the introduction, the audience will be ready to move to specific refactoring which aims to simplify code and clearly highlight certain concepts. This lesson shows that looping and branching are nearly always unnecessary, since they complicate the implementation, and are almost certainly harmful.
- Mapreduce Principle - In this lesson, we will raise our prior knowledge to a higher level and introduce LINQ. We will refactor the previous code so that it includes a map-reduce pattern. Imperative structures are replaced with functional structures that show greater flexibility and readability.
- Strategies - After a longer period of refactoring code into a form that is more based on functional principles, we return to the imperative code and introduce strategies as a special source of flexibility. After this lesson, the code will be transformed completely and will almost totally differ from the code which we used at the beginning of the workshop. The audience will become aware of the principles of coding and designing which have been applied so that the code can become clearer, simpler and more accurate.
This was our first in a series of guest workshops so, if you are familiar with any other interesting speaker or if you have participated in a similar workshop, please let us know at firstname.lastname@example.org, we would like to hear more about your experience.
Latest blog posts
Codeference 2023: A three-day journey of knowledge shar...
At the end of October, we had a great time sharing our experience and introducing the IT world to a group of students during the 3-day conference at Zlatibor mountain - Codeference.
Empowering leadership journey: The First-Time Leaders P...
Discover the transformative journey our colleagues enrolled on with our First-Time Leaders Program. From understanding the essential leadership skills to enhancing soft skills, this program is all about personal growth and ...
Cheers to Five and Ten Years of Dedication and Commitme...
This year, we are celebrating a special milestone - our 15th birthday. But not only that, a great number of our colleagues are marking their fifth and tenth work anniversaries at the company, and we want to use this special...