SóProvas


ID
150925
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2008
Provas
Disciplina
Arquitetura de Software
Assuntos

"Classes devem estar abertas para extensão e fechadas para modificação" é um princípio de projeto de modelos orientados a objetos. Tal princípio pode ser aplicado através do padrão de projeto

Alternativas
Comentários
  • Decorator: Padrão estrutural utilizado para agregar dinamicamente responsabilidades a um objeto.
    Provê uma alternativa ao uso de subclasses quando é necessário estender a funcionalidade.
  • Principio do aberto-fechado:
    - classes devem estar abertas extensões e fechadas para modificação
    - quando os requisitos mudam, o projeto deve permitir estender o comportamento adicionando novo código e não alterando o comportamento de código existente.

    Fonte: http://www.slideshare.net/evandroagnes/fundamentos-e-princpios-do-projeto-orientado-a-objetos
  • tô bonita na minha foto nova?
  • Kkkkkkk liendaaaaa
  • Fonte muito rebuscada para definir a questão... Envolve os 5 princípios SOLID referenciando o GoF (Gang of Four)

     

    S - Single-responsiblity principle

    O - Open-closed principle

    L - Liskov substitution principle

    I - Interface segregation principle

    D - Dependency Inversion Principle

     

    Single Responsibility principle

    This design principle (S in SOLID) states that a class should have only one reason to change.  A class should have only one responsibility and there should be one class for one responsibility. Composite design pattern which is a GOF design pattern uses Single Responsibility design principle.

     

    Open Closed principle

    The Open Closed design principle (the O in SOLID) states that a class should be open for extension but closed for modification. This principle restricts addition of new behavior in existing class hierarchy but allows extending the hierarchy by addition of subclasses. The Decorator and Strategy GOF design patterns follow Open Closed design principle. Decorator allows extension of behavior during runtime whereas Strategy allows implementation of behavior during compile time.

     

    Dependency Inversion principle/Dependency Injection/The Hollywood principle

    Dependency Inversion principle states that instead of instantiating referenced classes within a class, they should be instantiated outside the class definition and passed as references in the class. Dependency Inversion (D in SOLID) injects the reference of the class instance through setter methods of interface or abstract class type. The Factory Method, Template Method, Observer and Chain of Responsibility GOF design patterns follow Dependency Inversion principle.

     

    Para os outros princípios, não econtrei referencias ao GoF

    Fonte: https://madhuraoakblog.wordpress.com/2017/03/01/design-patterns-revisiting-gang-of-four/

  • a-

    Anexa responsabilidades adicionais ao objeto dinamicamente; estendendo funcionalidades, além de capturar o relacionamento classe/objeto. exemplo: uma árvore com sintaxe abstrata e ações semânticas, um estado finito autômato com novas transações, ou uma rede de objetos persistentes com tags.