Ahmed Tarek
Step by step guide to develop a Fluent API from scratch in DotNet (.NET) CSharp (C#) using the Builder Design Pattern. Best Practice Tips Tricks Hints
Photo by Callum Hill on Unsplash

I am sure this is not the first time for you to hear about the Builder Design Pattern. However, I promise you that you would find something different in this article.

In this article, we would walk through the whole process of developing a Fluent API using the Builder Design…

How To Fully Cover I/O File Based Applications in DotNet (.NET) CSharp (C#) With Unit Tests
Photo by Mr Cup / Fabien Barral on Unsplash

While working for different software houses, in more than one occasion I had the chance to work on an application which is mainly based on I/O File operations.

The biggest challenge the team was facing while working on such kind of applications is that the I/O File operations are so…

A Best Practice for Designing Interfaces in .NET C#. When to define a non-generic interface in addition to the generic interface
Photo by Kelly Sikkema on Unsplash

While working on your masterpiece software system, you define your own interfaces to act as contracts between your different system modules and to expose some contracts to the outside world. This is not rocket science to any software developer.

However, what I learned throughout my years as a Software Engineer…

Better Enhanced Repository Pattern Implementation in .NET C#, With Throttling/Paging, Following Best Practices
Photo by frank mckenna on Unsplash

The Story

Me and my team were going to start working on a big project. It was about a Web Application for a huge company. You can’t imagine how far I am tempted to reveal it’s name, but unfortunately, I can’t.

The client had some specific requirements and some of them were…

How to Recursively Call APIs to Get All Results in JavaScript. How to recursively get results per page and finally return them into one result set.
Photo by Joan Gamell on Unsplash

The Challenge

Most of the time while working on a JavaScript project, I write some code to call REST APIs. This is normal.

However, sometimes a REST API could have restrictions on the number of items it returns per request. In other words, while calling the API to get some items, these…

The Right Way to Create Observable Subjects in JavaScript. A best practice on how to define your Subjects in JavaScript objects.
Photo by Robert Ruggiero on Unsplash

While working on your cool JavaScript project, you might need to implement a service which manages a stream of data. In this case, the first thing pops up into your mind is using Observables or Subjects.

You can do this using libraries like Rxjs or you can even implement it…

Learn the best practice on when to not use Dependency Injection (DI), Inversion of Control (IoC), and IoC Containers. Learn when DIs are not the right solution, and the better design to use instead in DotNet (.NET) CSharp (C#)
Photo by Olav Ahrens Røtne on Unsplash

Throughout my years of working as a Software Engineer, I came across many occasions where I couldn’t understand the code I am looking at.

First, I thought that this is originating from a lack of knowledge from my side or my skills are not sharp enough and this was always…

Learn paging/partitioning main equations and how to apply them in JavaScript and .NET C# code.
Image by Ahmed Tarek

The Paging or Partitioning concept is used in many fields. When you have a set of items and you want to divide them equally between some sort of containers or groups, you are thinking of paging or partitioning but may be you don’t recognize it, yet…

The main goals of…

Learn the best practice to fully Cover .NET C# Console Application with unit tests using Test Driven Development (TDD), Dependency Injection (DI), Inversion of Control (IoC), and IoC Containers
Photo by Annie Spratt on Unsplash, modifed by Ahmed Tarek

Some colleagues of mine are complaining that sometimes they are not able to apply TDD or write unit tests for some modules or applications, Console Applications is one of these.

How could I test a Console application when the input is passed by key strokes and the output is presented…

Ahmed Tarek

I am a Software Engineer. I blog about .NET, JavaScript and some Frameworks 😉 Follow me on Twitter @ AhmedTarekHasa1, and LinkedIn @atarekhasan

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store