@manhng

Welcome to my blog!

Object Oriented Programming Concepts

December 22, 2017 01:25

OOP Concepts

https://web.stanford.edu/class/cs193j/handouts_old/03OOPConcepts.pdf (diễn tả ngắn gọn về OOP)

Common Type System

https://docs.microsoft.com/en-us/dotnet/standard/base-types/common-type-system

OOP

  • Primitive Types & Reference Types
  • Pass By Value & By Reference
  • Pointers & References
  • Important OOP concepts you need to understand:
    • Modularity (classes, objects)
    • Data Encapsulation
    • Inheritance
    • Abstraction
    • Polymorphism

https://www.cl.cam.ac.uk/teaching/0910/OOProg/OOP.pdf

http://www.cl.cam.ac.uk/teaching/0910/ConceptsPL/JavaCsharp.pdf

http://javajee.com/summary-of-object-oriented-programming-oop-concepts-in-java

Abstract class

http://www.dotnettricks.com/learn/csharp/a-deep-dive-into-csharp-abstract-class

http://csharp.net-tutorials.com/classes/abstract-classes/

http://www.c-sharpcorner.com/UploadFile/annathurai/abstract-class-in-C-Sharp/

http://www.c-sharpcorner.com/UploadFile/93126e/difference-between-abstract-class-and-an-interface/

https://www.codeproject.com/Articles/6118/All-about-abstract-classes

https://www.dotnetperls.com/abstract

https://forums.asp.net/t/1966102.aspx?Built+in+Abstract+Classes+Methods+and+Interfaces

Design Patterns

Creational Patterns: Patterns concerned with the creation of objects (e.g. Singleton, Abstract Factory).
Structural Patterns: Patterns concerned with the composition of classes or objects (e.g. Composite, Decorator, Proxy).
Behavioural Patterns: Patterns concerned with how classes or objects interact and distribute responsibility (e.g. Observer, State, Strategy).

Below are use case for some design patterns:

Decorator Attach additional responsibilities to an object dynamically. Decorators provide flexible alternatives to subclassing
for extending functionality. 

State Allow and object to alter its behaviour when its internal state changes.

Strategy Define a family of algorithms, encapsulate each on, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.

Composite Compose objects into tree structures to represent part whole hierarchies. Composite lets clients treat individual objects
and compositions of object a uniformly.

Singleton Ensure a class only has one instance, and provide a global point of access to it.

Proxy Provide a surrogate or placeholder for another object to control access to it.

Observer Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified
and updated accordingly. 

Abstract Factory Provide an interface for creating families of related or dependent objects without specifying their concrete
classes.

Categories

Recent posts