TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
C# Corner
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
About oriented
Share
facebook
twitter
linkedIn
Reddit
Topics
No topic found
Content Filter
Articles
Videos
Blogs
News
Complexity Level
Beginner
Intermediate
Advanced
Refine by Author
[Clear]
Naveed Zaman (10)
Ajay Kumar (7)
Md Sarfaraj (7)
Vijay Kumari (6)
Tural Suleymani (5)
Ayush Gupta (4)
Uday Dodiya (3)
Lokendra Singh (3)
Ehsan Sajjad (3)
Rasul Huseynov (2)
Sanjay Kumar (2)
Vishal Yelve (2)
Mark Pelf (2)
C# Curator (2)
Pankaj Patel (2)
Nagaraj M (2)
Ashutosh Singh (2)
Sandip Jadhav (2)
Keyur (2)
Jagannath Sethi (2)
Baibhav Kumar (1)
Akshay Phadke (1)
Ashish Bhatnagar (1)
Arpit Shrivastava (1)
Safyan Yaqoob (1)
Mamta M (1)
Vijay Yadav (1)
Jaimin Shethiya (1)
Ziggy Rafiq (1)
Jitendra Mesavaniya (1)
Pankaj Kumar Choudhary (1)
Siddhesh Chavan (1)
Govind Khandelwal (1)
Sundaram Subramanian (1)
Shivprasad (1)
Darshan Adakane (1)
Tushar Beniwal (1)
Pradeep Shet (1)
Vulpes (1)
Matthew Cochran (1)
Amr Monjid (1)
Daniel Clark (1)
Dinesh Gabhane (1)
Vithal Wadje (1)
Sardar Mudassar Ali Khan (1)
Mahesh Chand (1)
Anand Lakshminarasimh (1)
Rajeev Ranjan (1)
Ravikant Sahu (1)
Hammad Maqbool (1)
Related resources for oriented
No resource found
Object Oriented Design Balancing with Anti-Single Responsibility
11/5/2024 4:18:47 AM.
This article will change your perspective on working with the Single Responsibility Principle (SRP). The main point is to focus on finding balance when designing object-oriented systems and applying S
Example of Aspect Oriented Paradigm with DispatchProxy Class
10/23/2024 5:25:01 AM.
This article explores how to implement cross-cutting concerns in .NET using the DispatchProxy class. It demonstrates dynamic proxy creation for logging and other concerns, highlighting the benefits of
Introduction to Python Classes
10/22/2024 5:14:06 AM.
Learn how to define classes, create objects, and understand key OOP concepts like inheritance and encapsulation. Perfect for new programmers looking to master Python's class-based structure.
Encapsulation vs Abstraction in C#
10/21/2024 9:52:41 AM.
Encapsulation and abstraction are fundamental concepts in C# and object-oriented programming. Encapsulation refers to the bundling of data and methods that operate on that data within a class, promoti
Using Business Objects As Models In MVC
9/26/2024 7:15:50 AM.
This approach enhances code reusability, maintainability, and separation of concerns by clearly defining the role of models in managing the application's core functionality.
Explaning Wrapper Classes in Java
9/23/2024 8:49:27 AM.
This is essential for utilizing Java’s object-oriented features, such as collections. With autoboxing and unboxing, Java simplifies conversions between primitives and their corresponding wrapper class
Singleton Pattern: Ensuring a Single Instance in .NET Core
9/17/2024 7:19:37 AM.
In this article, we learn about Singleton Pattern: Ensuring a Single Instance in .NET Core. The Singleton Pattern ensures a class has only one instance, providing global access. It's commonly used
Categorizing Design Patterns: Creational, Structural & Behavioral
9/16/2024 8:17:37 AM.
In this article we will learn about Categorizing Design Patterns: Creational, Structural, and Behavioral. It provides real-life examples, benefits, and challenges, offering developers insights for be
Builder Pattern: Constructing Complex Objects
9/14/2024 1:58:12 PM.
In this article, we learn about Builder Pattern: Constructing Complex Objects. The Builder Pattern simplifies the creation of complex objects through step-by-step construction. It enables flexibility,
Explain Primary Constructor in C# 12
9/4/2024 6:23:27 AM.
The primary constructor in C# 12 introduces a new way to define and initialize properties directly within the class declaration, simplifying object creation and reducing boilerplate code.
A Guide to Using the Decorator Pattern in Your C# Code
9/4/2024 5:40:43 AM.
In this article, we will learn how to implement this pattern in your C# code, improve code reusability, and follow best practices for more maintainable and flexible software design.
Understanding State Design Pattern
9/2/2024 5:00:07 AM.
This pattern is particularly useful for implementing state machines or managing complex state-dependent logic, as it promotes cleaner code and improves maintainability in software development.
Interface Re-implementation in C#
8/29/2024 6:04:07 AM.
This guide covers the principles of object-oriented programming, including inheritance and polymorphism, and demonstrates practical techniques for effective interface re-implementation and code refac
Object-Oriented Programming (OOP) in .NET
8/22/2024 5:03:34 AM.
This article explores Object-Oriented Programming (OOP) within the .NET framework, focusing on core concepts such as classes, objects, inheritance, polymorphism, encapsulation, and abstraction.
Understanding Adapter Design Pattern
8/16/2024 7:15:32 AM.
The Adapter Design Pattern is a structural pattern that allows incompatible interfaces to work together. It acts as a bridge between two incompatible interfaces by converting the interface of a class
Constructor in .NET Core C#: Usage and Examples
7/29/2024 6:36:58 AM.
Learn about constructors in .NET Core with C# in this comprehensive guide. Discover how constructors initialize class instances, their role in dependency injection, and various use cases.
Understanding Sealed Classes in C#
7/22/2024 8:27:05 AM.
Sealed classes in C# are a vital concept in object-oriented programming, preventing other classes from inheriting them. This ensures a secure and stable class hierarchy by stopping further extension.
Object Oriented Programming in Python
7/19/2024 5:03:08 AM.
Object Oriented Programming in Python" delves into the principles and concepts of OOP using Python. This guide covers classes, objects, inheritance, polymorphism, and encapsulation, providing pra
Encapsulation, Inheritance, and Polymorphism in C#
7/18/2024 10:38:48 AM.
In this article, we will learn how to encapsulate data for security, leverage inheritance for code reuse, and implement polymorphism to create flexible and scalable applications.
Object Inheritance and Object Composition in Object Oriented Programming
7/12/2024 10:28:38 AM.
This content delves into two fundamental concepts of Object-Oriented Programming (OOP): object inheritance and object composition. It explores how inheritance enables class hierarchies and polymorphis
JavaScript – Prototypal Inheritance – Illustrated
7/12/2024 7:06:15 AM.
JavaScript – Prototypal Inheritance – Illustrated" is an in-depth guide that explores the concept of prototypal inheritance in JavaScript. This illustrated tutorial simplifies complex topics like
Interface Vs Abstract Class
7/10/2024 3:44:36 PM.
This article delves into the differences between interfaces and abstract classes in object-oriented programming. It explores their roles in languages like Java and C#, highlighting key concepts such a
How to use the Abstract Factory Pattern in C# with the Interface Pattern
7/4/2024 10:16:09 AM.
Learn how these design patterns improve flexibility, scalability, and maintainability in software development by exploring the Abstract Factory Pattern and Interface Pattern in C# with Ziggy Rafiq. Be
Mastering Nested Types in C#: Best Practices and Common Pitfalls
7/3/2024 6:31:39 AM.
Nested types in C# allow developers to define a type within another type, such as a class, struct, interface, enum, or delegate. This feature helps in organizing related types, encapsulating implement
Design Patterns and Advantages of Different Design Patterns
7/1/2024 6:42:39 AM.
Design patterns are recurring solutions to common problems in software design. They provide a template for solving issues in a particular context. The advantages of using different design patterns inc
Exploring Record Classes in Java
6/28/2024 9:03:23 AM.
Discover the simplicity and power of record classes in Java with our comprehensive guide. Explore how Java's record classes, introduced in Java 14, streamline the creation of immutable data struct
Types Of Relationships In Object Oriented Programming (OOPS)
6/24/2024 9:01:53 AM.
This article explores the key relationships in Object-Oriented Programming (OOP), including inheritance, association, composition, and aggregation. These relationships enable code reuse and flexibilit
Methods and Properties in C#
6/23/2024 9:46:10 PM.
In C#, methods and properties are fundamental constructs used to define the behavior and state of objects. Understanding how to create and use methods and properties is essential for effective C# prog
Introduction to Service Oriented Architecture
6/13/2024 8:26:12 AM.
Service Oriented Architecture (SOA) enables scalable, interoperable applications by decoupling services, ensuring they remain independent and self-contained. It uses standards like WSDL for describing
What Are Object-Oriented Databases And Their Advantages
6/12/2024 10:23:20 AM.
In this article, you will learn what object-oriented databases are what are their advantages.
Overloading vs Overriding in Java
6/12/2024 5:17:59 AM.
Method overloading and overriding in Java, essential OOP concepts for code reusability and polymorphism. Overloading allows multiple methods with the same name but different parameters while overridin
OOPS Interview Questions - C#
6/7/2024 10:31:18 AM.
Here is a list of the most popular OOPS interview questions and answers explained. These OOPS interview questions are for both beginners and professional C# developers.
Unpacking the Microservices Architecture
6/6/2024 11:31:07 AM.
Embark on an enlightening journey through the intricate landscape of microservices architecture. This comprehensive tour delves deep into the core principles, unveiling the essence of scalability, mod
Implementing Repository Pattern And Dependency Injection In ADO.NET Using Generics In C#
6/4/2024 9:49:21 AM.
Learn how to implement design patterns in an object-oriented paradigm to create generic solutions. This guide covers a practical example where a web application interacts with a database using the rep
Understanding SOLID Principles in .NET Core
6/2/2024 10:05:10 AM.
SOLID principles are a set of five design principles in object-oriented programming that aim to make software designs more understandable, flexible, and maintainable. In this blog post, we’ll explore
Learn Object Oriented Programming Using C#: Part 2
5/24/2024 8:57:02 AM.
Discover advanced Object-Oriented Programming techniques in C# with our comprehensive Part 2 guide. Master inheritance, polymorphism, encapsulation, and more. Learn to create robust classes, utilize i
Learn Object Oriented Programming Using C#: Part 3
5/24/2024 8:56:44 AM.
Part 3 of our tutorial series delves deeper into Object Oriented Programming with C#. Explore advanced concepts like inheritance, polymorphism, and encapsulation. Master class hierarchies, method over
Learn Object Oriented Programming Using C#: Part 4
5/24/2024 8:56:29 AM.
Delve into essential Object-Oriented Programming (OOP) concepts with C# in Part 4. Learn about encapsulation, properties, constructors, and methods. Explore access modifiers and best practices for cod
Learn Object Oriented Programming Using C#: Part 5
5/24/2024 8:55:43 AM.
Delve deeper into Object-Oriented Programming with C# in Part 5 of our series. Explore advanced concepts like inheritance, polymorphism, and encapsulation, empowering you to build robust and efficient
Learn Object Oriented Programming Using C#: Part 6
5/24/2024 7:28:34 AM.
Explore advanced concepts in Object-Oriented Programming (OOP) with C# in Part 6 of this series. Learn about inheritance, polymorphism, interfaces, and abstract classes. Understand method overriding,
Learn Object Oriented Programming Using C#: Part 7
5/24/2024 7:26:51 AM.
Delve deeper into Object-Oriented Programming with C# in Part 7 of our comprehensive tutorial series. Explore advanced concepts like inheritance, polymorphism, and more. Enhance your coding skills and
Learn Object Oriented Programming Using C#: Part 8
5/24/2024 7:17:07 AM.
Dear reader's, this article is the fourth and last pillar of OOP. It's confusing for the beginners of OOP. So we provide an example in very simple words.
Learn Object Oriented Programming Using C#: Part 1
5/24/2024 4:29:44 AM.
Embark on your journey to master Object-Oriented Programming with C# in Part 1. Explore essential concepts like classes, methods, properties, and inheritance, laying the foundation for advanced C# dev
Understanding the SOLID Principles in Object-Oriented Design
5/18/2024 6:36:28 AM.
The SOLID principles are five foundational design guidelines proposed by Robert C. Martin to create maintainable, flexible, and understandable object-oriented software, aiding in adaptability and ease
6 Important .NET Concepts
5/17/2024 10:37:22 AM.
This article will explain 6 important concepts, Stack, heap, value, ref, boxing, and unboxing. Explore the essence of .NET through six pivotal concepts.
Decorator Design Pattern In Dart/Flutter
5/16/2024 9:27:33 AM.
Decorator Design Pattern in Dart/Flutter, a flexible and reusable solution for extending functionality in object-oriented software. Learn through real-world examples, understand when to use it, and be
Facade Design Pattern In Dart/Flutter
5/16/2024 9:24:03 AM.
Explore the Facade Design Pattern, a GoF design pattern that simplifies interactions with complex systems. Learn its definition, when to use it, and how to implement it in Dart/Flutter with a practica
Object Oriented Programming Using C#: Part 9
5/13/2024 11:52:47 AM.
Explore advanced concepts in C# Object-Oriented Programming (OOP) in this ninth installment. Dive into topics like inheritance, polymorphism, encapsulation, and more. Learn how to leverage these princ
Implementing Railway-Oriented Programming
5/9/2024 6:16:48 AM.
In this tutorial, we will learn how to implement Railway-Oriented programming with Result Design Pattern. Railway-oriented programming enhances error handling by structuring code like a railway track.
What are Classes in Object Oriented Programming (OOP)
5/8/2024 10:20:54 AM.
Classes in OOP serve as blueprints for creating objects. They encapsulate data and behavior, promoting modularity and code reuse through inheritance and polymorphism, essential for building scalable a
Introduction to Railway-oriented programming
5/8/2024 6:56:15 AM.
This article delves into Railway-oriented Programming (ROP), a functional approach to error handling and data flow. It compares ROP to exceptions, offers a C# implementation, and discusses its benefit
Composite Design Pattern Using Python
5/6/2024 11:37:22 AM.
A composite design pattern is a structural design pattern. It allows developers to create multiple nested objects of the same type to complete one single system hierarchy.
Exploring Interface and Abstract Class in C# Programming
4/30/2024 10:07:25 AM.
In C#, both interfaces and abstract classes are powerful tools for designing flexible and reusable code. Let's delve into the concepts of interface and abstract class, explore their differences, a
Introduction To gRPC And its Implementation In .NET Core 3.1
4/26/2024 12:04:24 PM.
Learn the fundamentals of gRPC and its integration with .NET Core 3.1 in this introductory guide. Discover how gRPC facilitates efficient, cross-platform communication using protocol buffers. Explore
Adapter Design Pattern In Flutter
4/25/2024 9:50:09 AM.
Explore the Adapter Design Pattern, a popular structural design pattern in software development. Learn its definition, real-world examples, appropriate use cases, potential pitfalls, and more.
The "this" Keyword in C#
3/28/2024 10:38:53 AM.
The "this" keyword in C# is a reference to a class or a struct itself. In this article, you'll learn what the C# "this" keyword is, and how and when to use the "this"
Object Oriented Programming With A Real-World Scenario
3/28/2024 10:35:38 AM.
This article explores the significance of real-world scenarios in understanding Object-Oriented Programming (OOP) for young programmers. It discusses the four pillars of OOP - abstraction, encapsulat
Singleton Design Pattern In Flutter
3/21/2024 9:25:49 AM.
Learn how and when to use Singletons, implement them effectively, and explore their advantages and limitations. This article also includes a sample implementation using the shared_preferences package
Abstract Factory Design Pattern In Flutter
3/21/2024 9:25:33 AM.
Learn about the Abstract Factory design pattern in Flutter for creating platform-specific widgets. This pattern centralizes the creation of related objects, making it easier to manage and work with m
Factory Method Design Pattern In Flutter
3/21/2024 9:25:05 AM.
Factory Method design pattern! Learn how to create objects dynamically, improve code flexibility, and build platform-specific UIs (like buttons) with ease. Explore a practical payment gateway example
Introduction to Design Patterns in Flutter
3/21/2024 9:12:16 AM.
Explore the importance of design patterns in software development. Learn about different types of patterns, their benefits, and how they can improve code efficiency, readability, and maintainability.
Decorator Pattern in C# - 3 versions
3/20/2024 10:17:27 AM.
In this article, we will explore the versatile Decorator Pattern in C#, presented in 3 different versions. Enhance your understanding of object-oriented design with this powerful pattern, offering fle
.NET internals: Learning Object-Oriented .NET IL
3/19/2024 11:12:50 AM.
.NET IL, or Intermediate Language, serves as a bridge between high-level programming languages and machine code. This article delves into object-oriented .NET IL concepts with detailed explanations an
Simulating Multiple Inheritance in C#: Part I
3/19/2024 6:16:39 AM.
In this article, we will explore techniques for simulating multiple inheritance in C#. Discover how to leverage interfaces, composition, and class hierarchies to mimic this powerful feature, enhancing
.NET internals: Stack-Oriented .NET IL
3/16/2024 11:11:20 AM.
Understanding .NET IL (Intermediate Language) is crucial for developers to comprehend how code interacts with the .NET Framework. While not typically written directly, it offers insights into compilat
Object Oriented Programming In Java
2/29/2024 4:57:24 AM.
Object-oriented programming is the basic term of any programming language like Java. Object-Oriented Programming (OOP) in Java, covering concepts like Class, Object, Inheritance, Abstraction, Encapsul
Polymorphism Concept in Object-Oriented Programming
2/12/2024 6:20:17 AM.
What do you mean by polymorphism? Polymorphism is explained with C# examples, Polymorphism, a concept extending beyond programming, is illustrated in everyday scenarios. Electrical outlets serve as an
What is Memento Pattern in C#?
2/9/2024 5:57:36 AM.
In this article, we will learn aboutThe Memento Pattern in C# enables capturing and restoring an object's state. It's crucial for implementing undo/redo functionalities and managing state chan
Override Basic Object of Python
2/6/2024 10:09:49 AM.
This article introduces the concept of overriding methods in Python, focusing on the str and repr methods of the base object class. It explains how developers can customize the output when printing ob
Reading properties of an object in C#
11/26/2023 5:47:50 AM.
This article explores two ways to read the properties of an object in C# without knowing its type at compile time: reflection and dynamic keyword. Reflection involves inspecting and manipulating metad
How to Choose Between Inheritance and Composition?
11/16/2023 6:41:17 AM.
When to use composition over inheritance and vice versa as a coding best practice.
C# Artificial Intelligence (AI) Programming: A Basic Object Oriented (OOP) Framework for Neural Networks
11/15/2023 11:39:44 AM.
A Neural Network is an Artificial Intelligence (AI) methodology that attempts to mimic the behavior of the neurons in our brains. In this article, we’ll be building a basic framework for AI Neural Net
Liskov Substitution Principle (LSP) in .NET 6 Core
11/15/2023 9:13:04 AM.
As a burgeoning developer delving into the SOLID principles, understanding the Liskov Substitution Principle (LSP) is pivotal for crafting robust and maintainable code. In this article, we'll demy
Interface Segregation Principle in Object-Oriented Design
11/10/2023 5:36:10 AM.
This article explains about Interface Segregation Principle (ISP), and its application in C# is clear and well-illustrated through the example of a shape drawing application. Breaking down a generic I
The Third Pillar Of Object-Oriented Programming - Polymorphism:
10/30/2023 10:26:15 AM.
In the last part of this series you will see the third pillar of object-oriented programming (polymorphism); you will see how the polymorphism gives you the ability to treat related objects in the sam
Service Oriented Architecture vs Microservice Architecture
10/17/2023 10:06:47 AM.
In software development, choosing the right architectural approach is critical to a project's success. Two prominent contenders in this area are Service-Oriented Architecture (SOA) and Microservic
Simplest Way To Learn Object Oriented Programming
10/6/2023 7:18:47 AM.
This article provides the sImplest way to learn Object Oriented Programming.
Building Flexible And Future-Proof C# Applications With Examples
9/27/2023 6:11:38 AM.
This article explores the Open Closed Principle (OCP), one of the SOLID principles of object-oriented design, and how it can help developers build flexible and future-proof C# applications. By adherin
Inheritance In C#
9/25/2023 10:20:01 AM.
Inheritance is a powerful feature of Object Oriented Programming languages. Using inheritance you create base classes that encapsulate common functionality. The base class is inherited by derived clas
SOLID Principle of Object Oriented Programming in C#
9/25/2023 9:02:45 AM.
The SOLID principles along with examples and explanations. These principles are indeed important for designing maintainable and robust software systems. If you have any specific questions or if there&
Difference Between Shadowing And Overriding In OOP Using C#
9/24/2023 5:40:36 PM.
In this article, you will learn about the difference between Shadowing and Overriding in OOP using C# Programming example.
Field vs Property in C#
9/18/2023 4:20:01 PM.
In C# object-oriented programming (OOP), distinguishing between "fields" and "properties" is fundamental. Fields directly store data, typically with private or protected access mod
Mapping ViewModel To Model Using Implicit Conversion Operator In C#
9/18/2023 9:08:46 AM.
Mapping a ViewModel to a Model in C# using an implicit conversion operator is a technique used to simplify the process of transferring data between these two related classes. ViewModels are typically
Dependency Injection (Property Injection) In C#
9/14/2023 9:58:58 AM.
In this article we are going to discuss Property Injection. Dependency injection (DI) is a design pattern used in C# and other object-oriented programming languages to achieve better code organization
Programming Methodologies
9/14/2023 6:56:54 AM.
This article just provides an overview of some programming methodologies and we will see OOP concepts in greater details.
Object-Oriented Programming in JavaScript
9/11/2023 7:15:17 AM.
This article explores JavaScript's Object-Oriented Programming (OOP) fundamentals, covering object creation, constructor functions, methods, inheritance, and ES6 classes, enabling modular and main
Pillar of OOPS (Object Oriented Programming)
9/6/2023 8:08:58 AM.
This article explores the fundamental pillars of Object-Oriented Programming (OOP): Encapsulation, Abstraction, Polymorphism, and Inheritance. It provides detailed explanations and real-world examples
Private Constructor - C#
8/28/2023 9:38:28 AM.
In this article, you will learn about Private Constructor - C#.In C# and many other object-oriented programming languages, a private constructor is a constructor that is declared with the "privat
Web Application Enhancement: Action Filters for Cross-Cutting Concerns
8/28/2023 6:14:23 AM.
Action filters are an integral part of many modern web frameworks, including ASP.NET MVC, ASP.NET Core, and others. They allow you to intercept and modify the request and response pipeline for an appl
Random Class in Java
8/7/2023 9:55:58 AM.
Random class is used to generate pseudo-random numbers in java. An instance of this class is thread-safe. The instance of this class is however cryptographically insecure.
Type Casting in Java
8/7/2023 8:57:01 AM.
Typecasting is a basic concept of Java programming language. Assigning a value of one type to a variable of another type is known as Type Casting in Java.
Comparision of Java With Other Programming Languages
8/3/2023 9:32:00 AM.
Java is the most popular programming language in the world. Learn what is the difference between Java and C++, Java and C#, Java and C and other languages.
What Is A Column Store Database
8/1/2023 8:59:36 AM.
Column Store Databases store the data in columns rather than rows. In this article, let's understand what column databases are and what are the most popular column store DBMS.
Object Relational Mapping (ORM) Using NHibernate - Part 2 of 8
7/31/2023 5:41:13 AM.
Object-Relational Mapping (ORM) is a programming technique that allows developers to interact with a relational database using object-oriented programming paradigms. It bridges the gap between the obj
Introduction To MongoDB
7/28/2023 7:07:10 AM.
MongoDB is a popular and widely-used NoSQL (non-relational) database management system designed to handle large volumes of unstructured or semi-structured data. It falls under the category of document
Naming Convention in Java
5/18/2023 4:59:20 AM.
This article is all about the Naming convention of the Java programming language.
Object-Oriented Programming in Kotlin
5/16/2023 8:39:38 AM.
This article will explain the fundamentals of OOPs in Kotlin.
Differences Between Object Oriented Development(OOD) And Service Oriented Architecture(SOA)
2/16/2023 10:37:39 AM.
This article in deep explains the differences between Object Oriented Development(OOD) and SOA(Service Oriented Architecture).
Java Basics
2/15/2023 12:10:49 PM.
Java is a popular general-purpose programming language and computing platform. It is a high level, class-based, and object-oriented programming language. Java runs on multiple platforms. It means that
Interface Class In C#.NET
2/13/2023 4:47:34 AM.
The traditional concept and definition of interface class never helped me to understand when should I use interface class in C#.NET so I use this example to clear my concept