About Programation: Difference between revisions
From My Limbic Wiki
Line 46: | Line 46: | ||
* MVVM | * MVVM | ||
=Paradigm= | =Paradigm= | ||
* REST | * REST: Representational State Transfer | ||
* Object | * Object | ||
* Procedural | * Procedural |
Revision as of 02:36, 10 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
Paradigm
- REST: Representational State Transfer
- Object
- Procedural