About Programation: Difference between revisions
From My Limbic Wiki
Line 45: | Line 45: | ||
* MVP | * MVP | ||
* MVVM | * MVVM | ||
==Famous Patterns== | |||
=Singleton= | |||
* '''Class Singleton''' with a private constructor | |||
** Private static parameter '''single_instance''' set to null | |||
** Private static Method '''getInstance():''' '''if''' the parameter '''is null''', instantiate Singleton class as '''New''', if not return the existing instance returning the parameter '''single_instance''' | |||
Every instantiation has to be called as: '''Singleton.getInstance();''' | |||
=Observable= | |||
* to fill | |||
=Paradigm= | =Paradigm= | ||
* REST: Representational State Transfer; Used with Web Services | * REST: Representational State Transfer; Used with Web Services |
Revision as of 20:39, 21 May 2019
Central Principles in POO
Abstraction
- Abstraction is a process of hiding the implementation details from the user. Оnly the functionality will be provided to the user.
- Related to both encapsulation and data hiding
- My words:
- One abstract method = class abstract.
- This class can be extends by other classes
- The child classes will contain the extended methods of the abstract class, they can use them and the declaration of the abstract one
- The abstract method will be over-writed to have the possibility to write a different code for each child
Inheritance
- Extends: Multiple inheritance
- Using extends keyword, the child class inherits the methods of parent class.
Encapsulation
- Declare private variables
- Declare Setters and Getters to modify them
Polymorphism
- Process objects differently based on their data type.
- One method with multiple implementation
- This can be implemented by designing a generic interface, which provides generic methods for a certain class of action and there can be multiple classes, which provides the implementation of these generic methods.
- Ways to do it:
- Override: method of an extended class
- Compile Time: Multiple methods declaration with multiple parameters
- In polymorphism, the parent class has a declared method wich is not abstracted and not empty. There is a process inside, it is not only a declaration in a abstract class
Packages
- Prevent naming conflicts
- Control access
- Make searching/locating and usage of classes, interfaces, enumerations and annotations easier...
Interface
- Collection of abstract methods.
- A class implements an interface, thereby inheriting the abstract methods of the interface.
Difference Controller and Presenter
- Presenter
- The View is responsible for handling the UI events
- Controller
- Handle the UI Events
Design Patterns
- MVC
- MVP
- MVVM
Famous Patterns
Singleton
- Class Singleton with a private constructor
- Private static parameter single_instance set to null
- Private static Method getInstance(): if the parameter is null, instantiate Singleton class as New, if not return the existing instance returning the parameter single_instance
Every instantiation has to be called as: Singleton.getInstance();
Observable
- to fill
Paradigm
- REST: Representational State Transfer; Used with Web Services
- Object
- Procedural
Acronym
- CRUD: Create, Read, Update, Delete