Designing in Agile World

Introduction Softwares, once you strip away all the layers of abstraction, is really just a big pile of numbers. In fact, even those numbers are abstractions for bunch of electrons moving around. We partly human beings are just incapable of thinking about software in those terms however. Reality is just too complicated. We have to … Read more

AWS Serverless Applications using SAM – Part 2

In Part-1 of this series, we covered some basics of AWS SAM which is an extension of AWS CloudFormation service and greatly simplifies managing serverless resources. We then defined and deployed a lambda function along with API Gateway using an SAM template. Following diagram shows the state of our serverless infrastructure from the previous post: … Read more

AWS Serverless Applications using SAM -Basics

Introduction In one of previous posts we’ve discussed AWS Cloud Formation Service and how it helps us manage our infrastructure as code and simplify deployment tasks on AWS. AWS Serverless Application Model (SAM) takes it to the next level by simplifying the deployment of serverless resources. The AWS Serverless Application Model (SAM) is an open-source … Read more

Writing beautiful, optimized and better .NET code with NDepends static analysis

Introduction Over the years I’ve been in various discussions regarding benefits of clean architecture, best practices, techniques such as code reviews, unit tests etc. and I think on some degree most of us are aligned on the reasons behind it. Having a clean architecture or code-base not only makes your development team happier, but it … Read more

AWS Certified Solutions Architect (Associate) Exam Journey and Tips – Part 3

Introduction Welcome back, here we are with final part of AWS Certified Solutions Architect (Associate) Exam Journey and Tips. In previous two posts, I covered the Background and Preparation parts. This post will be focused on topics like exam registration and taking the exam along with some more tips and experiences. If you are new … Read more

AWS Certified Solutions Architect (Associate) Exam Journey and Tips – Part 2

Introduction In Part-1 of this series, I started sharing my experience of preparing for AWS Certified Solutions Architect (associate) exam. If you are new to this topic, I will suggest you to first check the previous post and then the continuation in this part will be easier to follow. We will continue with preparation area … Read more

AWS Certified Solutions Architect (Associate) Exam Journey and Tips

Introduction Recently, I’ve passed the AWS Solutions Architect (associate) exam and now want to share this experience as it may help answer some questions for those who might be interested or already preparing for this exam. I am going to arrange the information in following sections Background Preparation Exam Now, everyone has their own way … Read more

Manage Hierarchies with Composite Pattern

Introduction The composite design pattern generalize a hierarchical structure. It helps deal with tree structure of information. This make things easier for clients due to uniform way to work with individual items and for collections. Lets start by stating that composite is not composition (composition is another useful software design approach. Decorator pattern utilizes composition). … Read more

Extending functionality using Decorator Pattern (C#)

Introduction The decorator pattern is a structural design pattern which allows you to dynamically add functionality to classes without modifying the target class. It does this by creating a wrapper around the original class, which gives you an extension point to inject in new behavior. It allows you to maintain a strong separation of concerns … Read more

Build a simple Chat Room using Mediator Pattern (C#)

Introduction I’ve previously written about Mediator pattern and how it encapsulates object’s interaction and communication. This pattern promotes loose coupling between software components. It acts as a communication hub and it facilitates one-to-many, many-to-one and many-to-many communications. We than saw an example of Vehicles Control Center where vehicles position is communicated to control center. We … Read more