Browsed by
Category: programming

Fastest way to create instance of a Type in Runtime C#

Fastest way to create instance of a Type in Runtime C#

When working with refactoring and loading and creating instances of types in run time using c# the important factor you should take care of is the performance and time needed to create this instance. we always need to create objects of a type and we should use the method that will not take too much time to create this object. In this thread, I am going to explain the most famous ways to do this and we will see the…

Read More Read More

Difference between static class and singleton pattern?

Difference between static class and singleton pattern?

Static Class:- You cannot create the instance of static class. Loaded automatically by the .NET Framework common language runtime (CLR) when the program or namespace containing the class is loaded. Static Class cannot have constructor. We cannot pass the static class to method. We cannot inherit Static class to another Static class in C#. A class having all static methods. Better performance (static methods are bonded on compile time) static objects are stored in stack. we can not clone the static…

Read More Read More

C# Plugin Manager

C# Plugin Manager

Plugins and modules are widely used in almost any type of application. They enhance them with additional features. Beside adding features, plugins have the big advantage, that they separate code in a very clean and testable way. Even hundreds of plugins can be managed without problems, as their functionality is encapsuled in a single place. This tutorial will explain you, how to implement a C# plugin- and module application-architecure, which is quite simple, clean and easy to maintain! Differences between…

Read More Read More

Dynamic Validator

Dynamic Validator

Hello Again, In this tutorial I am using dependency injection to add rules for any class and use these rules later in validation process. using System; using System.Collections.Generic; using System.Text.RegularExpressions; namespace DynamicValidator { class Program { static void Main(string[] args) { Emp e1 = new Emp(); e1.id = 123; bool vv = e1.validate(); Console.WriteLine(“Validate: ” + vv.ToString()); e1.name = “Ahmed”; vv = e1.validate(); Console.WriteLine(“Validate: ” + vv.ToString()); e1.email = “[email protected]”; vv = e1.validate(); Console.WriteLine(“Validate: ” + vv.ToString()); Console.ReadKey(); } }…

Read More Read More

Dynamic Workflow

Dynamic Workflow

I tried to implement Dynamic Workflow and how we can create dynamic workflow functions and execute it in sequence, I used Inversion of control to achieve this . here is the idea code: using System; using System.Collections.Generic; namespace a1 { class Program { static void Main(string[] args) { WorkFlow wf = new WorkFlow(); wf._worklist.AddLast(new CreateEmpList()); wf._worklist.AddLast(new CreateEmpList()); wf._worklist.AddLast(new PrintEmpList()); wf._worklist.AddLast(new CreateEmpList()); wf._worklist.AddLast(new CreateEmpList()); wf._worklist.AddLast(new PrintEmpList()); wf.execute(); Console.ReadKey(); } } public interface IFunction { void execute(); } public interface IValidator {…

Read More Read More

A plea for lean software: 6 Lessons I learned to help keep software simple

A plea for lean software: 6 Lessons I learned to help keep software simple

Preface Recently, I was browsing the codebase of my company and saw that it has three versions of dashboards for an analytics page in it. I am pretty sure that customers don’t need that. This sparked something in my naive brain and I started exploring the internet for related ideas. That’s when I found this age-old paper, A Plea for Lean Software. This post is largely influenced by ideas presented in the paper that resonated with me. Introduction Size of software…

Read More Read More

Free Full Plural Sight Subscription

Free Full Plural Sight Subscription

1-Get a Free Full PluralSight Subscription  -Navigate to “Visual studio Dev Essentials” from Google   -Click to Join Now and Sign in with your Microsoft Email   -Click on Get Code then Click on Activate -Fill your info to continue like here   -Complete your Plural Sight Basic Info -Choose a course you are interested in