Data Access Object (DAO)

In computer software, a data access object (DAO) is an object that provides an abstract interface to some type of database or other persistence mechanism. By mapping application calls to the persistence layer, theDAO provides some specific data operations without exposing details of the database.

Business object (BO)

A business object is an entity within a multitiered software application that works in conjunction with the data access and business logic layers to transport data. Sources: https://en.wikipedia.org/wiki/Business_object

Facade Pattern

The Facade Pattern (or façade pattern) is a software design pattern commonly used with object-oriented programming. The name is by analogy to an architectural facade. A facade is an object that provides a simplified interface to a larger body of code, such as a class library. The facade pattern (also spelled façade) is a software-design pattern commonly used in object-oriented programming. Analogous to a facade in architecture, a facade... » read more

Mock object

In object-oriented programming, mock objects are simulated objects that mimic the behavior of real objects in controlled ways, most often as part of a software testing initiative. A programmer typically creates a mock object to test the behavior of some other object, in much the same way that a car designer uses a crash test dummy to simulate the dynamic behavior of a... » read more

Classes vs Structs

Classes Only: Can support inheritance Are reference (pointer) types The reference can be null Have memory overhead per new instance class SampleClass { } Structs Only: Cannot support inheritance Are value types Are passed by value (like integers) Cannot have a null reference (unless Nullable is used) Do not have a memory overhead per new... » read more

C# Method Overloading

In c#, Method Overloading means defining a multiple methods with same name but with different parameters. By using Method Overloading, we can perform a different tasks with same method name by passing different parameters. Suppose, if we want to overload a method in c#, then we need to define another method with same name but with different signatures. In c#,... » read more

C# Inheritance

Basic Inheritance public class Animal{ public void Greet() { Console.WriteLine("Hello, I'm some sort of animal!"); }} public class Dog : Animal{ } Animal animal = new Animal(); animal.Greet(); Dog dog = new Dog(); dog.Greet();

Access Modifiers and Access Levels

The following access modifiers are available: C# Modifier Definition public The type or member can be accessed by any other code in the same assembly or another assembly that references it. private The type or member can only be accessed by code in the same class. protected The type or member can only be accessed... » read more

Object Oriented Programming Basics

Abstraction Abstraction means we focus on the essential qualities of something rather than one specific example. Generalize instead of going into details.  Encapsulation The idea of taking our attributes and then taking our behaviors and bundling them together in the same unit. We also want to restrict access to the inner workings. “I don’t care... » read more

Singleton Pattern

The singleton pattern is a software design pattern that restricts the instantiation of a class to one “single” instance. This is useful when exactly one object is needed to coordinate actions across the system. In C#, you use the “static” declaration. The singleton design pattern solves problems like:[5] How can it be ensured that a... » read more