POP (Protocol-Oriented Programming) – an introduction

Preface A computer is a complex machine made up of several hardware components. Then there is a software layer which efficiently makes use of these components to perform the desired task. These complex machines, many of the times, talk to each other to share the information or to delegate some tasks. All these tasks, at some point…

iOS design patterns — Part 2 (VIPER)

In the first part, here, we toured on MVC, MVP and MVVM, three of the most famous design patterns used in iOS application development. This final part will explore the VIPER design pattern. Lately, VIPER is treated as the extended version of MVVM which provides more modularity as compared to its contenders. It basically comprises…

iOS design patterns — Part 1 (MVC, MVP, MVVM)

Design patterns have always helped in building a manageable, testable, reusable and optimized software. Generally, it helps in modularizing the software such that each component is separate and handles a single responsibility. Additionally, they drastically improve the readability of the code which plays a big role in communicating the software code. Also, the software development…