Você está na página 1de 2

OOP – Deals with objects which have state(data) & behavior(methods)

ABSTRACTION -> São entidades de tudo que é real. “esconde” a implementação


expondo apenas o necessário.
Petroleo -> car -> engine

ENCAPSULATION -> Proteger o acesso direto aos dados de um objecto. Propriedades só


são acessadas através de métodos públicos
Microondas -> não compreender o que tem dentro existem botões que fazem
funcionar

HERANCE -> Subclasse herda características(propriedades/métodos) da super classe


Car -> Fiat / Gol

Polimorphism -> Um método de uma classe é dado corpo em outros objectos


Person -> Officer -> Developer
Person -> Home -> Father,

OBJETO É UMA INSTANCIA DE UMA CLASSE

CONSTRUTOR SERVE PARA INSTANCIAR UMA CLASSE E CRIAR OBJECTO EM MEMORIA

Class Object
É um template do qual um objeto pode ser criado É a instancia de uma classe
Class é declarada com a palavra class Classname() Employee emp =new Employee()
Nao existe alocação de memoria Alocacao de memoria
Recipe to prepare food Food prepared from a recipe

Classe abstrata => Pode ter metodos abstractos ou não/não suporta herança múltipla/extends/Tem
pelo menos um método abstrato, que n tem corpo/ não instanciavel/Serve para ser herdada.

Interface => Não é considerada uma Classe e sim uma Entidade/Suporta múltipla herança/não
instaciavel/metodos e sem corpo.

IS A -> HERANCE (Sparrow is a bird) // HAS A -> COMPOSITION (Car has a wheel).

OVERLOADING -> Dois métodos com mesmo nome e diferentes parâmetros.


Compile-Time => polimorfismo

OVERRIDING -> Método deriva de um método da classe pai


Run-time => polimorfismo

FRAMEWORK x LIBRARIES
Framework and libraries are code written by someone else that helps perform certain tasks
Framework inverts the control of the program. It tells what they need. (INVERSION OF CONTROL)
Library you have the control. The programmer calls where and when they need.

SPRING FRAMEWORK:
 Application context => (set of data that identifies tasks that are running in the context of your
application and platform)
 Depend injection => “injects” objects into other objects or “dependencies”.
 Data Access (database)
 Spring MVC => To develop web appliccations and REST APIs using the same spring concepts.

DESIGN PATTERNS: Flexibility and can accelerate the development process.

1. Creational Design Pattern: Provides various object creation mechanisms

 Singleton -> Lets you ensure that a class has only one instance. (Calendar
 Factory Method -> Provides an interface for creating objects in a superclass, but allows
subclasses to alter the type of object that will be created
 Abstract Factory -> Lets you produce families objects without specifying their concrete class
 Builder -> Lets you construct complex objects step by step
 Prototype -> Lets you copy existing objects without making your code dependent on their
classes

2. Structural Design Pattern: Explain how to assemble objects and classes into larger structures,
while keeping these structures flexible and efficient

 Decorator -> Attach new behaviors to objects by placing these objects inside
Special wrapper objects that contains beahviors(pizza with mayn types and then makes subclasses with
onions, ppper, etc…)

3. Behavioral Design Pattern: concerned with algorithms and the assignment of responsibilities
between objects.
 Command ->  turns a request into a stand-alone object that contains all information about
the request (button, menuitem => save command)

AGILE: Is a set of practice that promotes continuous iteration of development and testing throughout the
software development.

SCRUM: Its an AGILE framework.

Sprints => Iterations => Plan/Build/Test/Review. Each iteration takes less and less each time a new
version of the project is done.

At the end of each Sprint, you have the launch of a potentially deliverable software. (1 to 4 weeks).

What is REACT:

React is a JavaScript library for building user interfaces. It allows developers to build reusable UI
components and manage the state of their applications in a efficient way.

Characteristics:
1) React uses a virtual DOM (Document Object Model) which optimizes updates and improves the
performance of the application.
2) It also uses a concept called "components" which are self-contained units that manage their
own state and render their own views. This allows for easy composition and organization of the
application's UI.
3) React also offers a feature called "JSX" which allows developers to write HTML-like elements in
their JavaScript code. This makes the code more readable and easy to understand.

React is widely used in building complex web applications and is maintained by Facebook. It also has a
large and active community that provides support and continuously develops new tools and libraries.

Você também pode gostar