Author: Marko Engelman

Architectural Patterns – Decorator

In this article I will present you powerful architectural pattern that I have been using it a lot called Decorator. 1. What is Decorator By definition Decorator is architectural pattern which allows us incorporating new services, behaviours to existing components when certain events occur or simply augmenting existing behaviours. Main benefit of the pattern is […]

Detect user’s country without accessing their location

Sometimes we are faced with challenge where we would like to improve user experience of our app based on where in the world or better said in which country our clients are using the application. For example if you would like to show some content (or even download in from the API on the fly), […]

DDD – Aggregates part I.

Welcome to the fourth article about Domain Driven Design. In the previous article, we learned about one of the primary concepts in Domain Driven Design – Entities. This time, we will take a look at another interesting and really powerful concept – Aggregates. They are often misunderstood, which results in incorrect implementations. 1.What is an […]

Async execution of long-running operations using Swift’s Task

In this article I will try to show you how to adopt Swift’s Task which is part of new Concurrency API’s with an example where we want to execute long-running operations on background thread without changing existing implementation of the operation. Instead making adoption by changing existing code we will build reusable component which will […]

Use Swift’s ‘async’ without breaking the existing codebase

With the release of Swift 5.5 and upcoming release of Xcode 13.2 we are finally able to use new Swift Concurrency APIs. In this article I will try to show you a way how to use new APIs into the codebase where needed or even required without actually breaking or changing the existing code. Quick […]

How to connect to Wi-Fi device from iOS app using Swift

With the popularity and rise of IoT applications you might get faced with requirement that your iOS application should be able to connect to a Wi-Fi device. Since iOS11 was released we got access to new APIs that allows us to do just that.

In this article I will show you an easy was how to connect to a Wi-Fi device from iOS application with some “gotchas” along the way.

DDD – When to use and how to design Entities

Welcome to third article about Domain Driven Design. Last week I have showed you one of two primary concepts in it – Value Objects. In this following article we will take a deep dive into the other one – Entity. Because I think this is really important topic, let’s take a step back and see […]

DDD – Understating Value Objects with Swift

This article is part of mini series about Domain Driven Design. And in this week we will continue with one of its primary concepts – Value Objects and Entity Objects. In this one I will present you Value Objects. Easiest way to understand Value Objects is by understanding how it’s different from Entity Object. Core […]

DDD – Anemic vs. Rich Domain Model

This week we will start with software design post. And in following weeks we will take a deep dive into Domain Driven Design. For examples we will use Swift and iOS. If you are not familiar with Domain Driven Design just stay tuned for more future posts. We will start with Anemic Model and have […]

Observing model changes using Swift’s @propertyWrapper

In this post we will take a look how can we implement alternative mechanism for observing model changes and reacting to those changes using @propertyWrapper‘s introduced in Swift 5 and make quick comparison against existing and popular approaches. First let’s take a quick overview of existing popular solutions and quickly analyse them. 1. Using ‘didSet’ […]