1 MAC 413/5715 – Seminário Prof. Fabio Kon Self: The Power of Simplicity David Ungar and Randall B. Smith OOPSLA 1987 Cristina Fang Eduardo Miyoshi Kasa.

Slides:



Advertisements
Apresentações semelhantes
Projeto – Parte II - Exemplos de Diagrama de Colaboração
Advertisements

Princípios da Orientação a Objetos e a Linguagem UML
MÁQUINAS UNIVERSAIS Fabrício Dias
Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capitulo 3 – Introdução às classes Capitulo 3 Introdução às classes.
15/1/2014 Professor Leomir J. Borba- – 1 Tec. Em Analise e desenvolv. De Sistemas analise.
Análise de Casos de Uso.
Metodologia Científica e Tecnológica
SISTEMAS DE EQUAÇÕES.
Diagramas de Seqüência
Orientação a Objetos: Encapsulamento e Classificação
Orientação a Objetos: Encapsulamento e Classificação
Mutação Orientada a Objeto para Assegurar a Qualidade de Testes Baseado no Artigo: Object-Oriented Mutation to Asses the Quality of Tests Anna Derezinska.
Arquiteturas Diferentes
DIAGRAMA DE ATIVIDADES
Chain of Responsibility
Agente Explorador do Mundo Wumpus By Ana Cristina, Ioram e Leonardo.
1 Sabendo-se que os pratos das balanças estão em equilíbrio, você seria capaz de dizer: Quantos quadrados corresponde um círculo ? Dica Mais dicas Elaboração:
Rganização de Computadores Melhorias de Desempenho com Pipelines Capítulo 6 – Patterson & Hennessy Organização de Computadores Melhorias de Desempenho.
Arrays Profa. Isabel Harb Manssour (Material adaptado das aulas dos Profs.: Luciana Nedel, Júlio Machado e Bernardo Copstein) Arrays Exercícios.
Engenharia de Requisitos
ANÁLISE E PROJETO ORIENTADA A OBJETOS UFRJ/IM/DCC Lab PSI mai/1999.
Auditoria de Segurança da Informação
SI STEMA N ACIONAL DE VALIAÇÃO A DA DUCAÇÃO E S UPERIOR.
Aula 3 Evolução da Principais Linguagens
Aula 8 Orientação à Objetos
DIABETE MELLITUS.
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação Orientada a Objetos
Matemática I Prof. Gerson Lachtermacher, Ph.D.
Análise de Casos de Uso Alexandre Motnteiro.
TÉCNICAS DE PROGRAMAÇÃO II
© GfK 2012 | Title of presentation | DD. Month
Diagramas de Seqüência
DIAGRAMA DE COMPONENTES
Cinemática Plana de um Corpo Rígido Cap. 16
Dinâmica de um Ponto Material: Impulso e Quantidade de Movimento
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap Exercícios.
Dinâmica de um Ponto Material: Impulso e Quantidade de Movimento
MECÂNICA - DINÂMICA Dinâmica de um Ponto Material: Impulso e Quantidade de Movimento Cap. 15.
Object Oriented Software Construction (MEYER, Bertrand)
Conteúdos do tutorial O que é um Slide Mestre?
Conversão de um NFA para um DFA com um exemplo
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
BENCHMARKING.
Salas de Matemática.
Coordenação Geral de Ensino da Faculdade
É u m e l e m e n t o f u n d a m e n t a l
Cinemática de uma Partícula Cap. 12
Ritornello Um Framework para Representação de Conhecimento Musical
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Grupo A – Azul Claro, Marrom, Laranja
Portugal: Convergência Real Para a União Europeia Abel Moreira Mateus Outubro 2000.
Preleções Científicas Universidade Estadual do Ceará Pró-Reitoria de Extensão Integrais Múltiplas e Integrais de Volume Ministrante: Prof. K. David Sabóia.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Diagramas de Venn e de Carroll Não se chamam propriamente ferramentas/instrumentos estatísticos mas ajudam a organizar de uma forma simples alguns tipos.
Rio Verde - Goiás - Brasil
Cinemática Plana de um Corpo Rígido Cap. 16
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
UML - Unified Modeling Language
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Introdução aos Protocolos de Roteamento Dinâmico
GINÁSTICA LABORAL UM NOVO CAMINHO.
Compras – Planejamento de Estoque
Contagem Sequencial do Estoque
Contagem Sequencial do Estoque
Princípios Fundamentais da Interpretação Bíblica
Transcrição da apresentação:

1 MAC 413/5715 – Seminário Prof. Fabio Kon Self: The Power of Simplicity David Ungar and Randall B. Smith OOPSLA 1987 Cristina Fang Eduardo Miyoshi Kasa

2 MAC 413/5715 – Seminário Prof. Fabio Kon O problema

3 MAC 413/5715 – Seminário Prof. Fabio Kon

4

5 Self: The Power of Simplicit A solução?

6 Self: The Power of Simplicit Self

7 Self: The Power of Simplicity Linguagem Orientada a Objetos Tudo é objeto (herdado de Smalltalk) Idéias utilizadas no desenho: Protótipos Slots Comportamento

8 Self: The Power of Simplicity Protótipos: Objetos base que serão clonados Não utiliza classes Mais simples e flexível do que a maioria das linguagens orientada a objetos

9 Self: The Power of Simplicity Slots Protótipos contêm Slots Slots podem conter qualquer coisa (objetos, procedures ou closures) Comportamento Não existe diferença entre comportamento e estado.

10 Self: The Power of Simplicity

11 Self: The Power of Simplicity Protótipos vs. Classes

12 Self: The Power of Simplicity Desvantagens de Linguagens OO baseada em classes: - É necessário criar uma nova classe para criarmos um novo tipo de objeto - Para alterar a estrutura do objeto precisamos alterar a classe.

13 Self: The Power of Simplicity Self combina herança, protótipos e objetos para eliminar a necessidade de classes

14 Self: The Power of Simplicity Classes –Contém comportamento –Herda de outra classe –Pode ser instanciada Objetos –Contém estado –São instâncias de Classes Protótipos –Contém comportamento –Delega a outros objetos –Pode ser clonado –Contém estados

15 Self: The Power of Simplicity

16 Self: The Power of Simplicity Simples

17 Self: The Power of Simplicity Relações simples "is a" e "kind of" são substituídos por "inherits from" Fica mais fácil de entender a linguagem e criar hierarquia de herança Criação por cópia Criar novos objetos é fácil: basta clonar

18 Self: The Power of Simplicity Exemplos de módulos já existentes Protótipos são mais concretos que classes Exemplos (protótipos) são mais fáceis de entender do que descrições (classes) Objetos únicos (one-of-a-kind) Objetos do tipo Singleton são mais fáceis de se criar, pois cada objeto tem suas próprias características

19 Self: The Power of Simplicity Meta-regressão Baseada em classes Nenhum objeto é auto-suficiente Classes são necessárias para expressar sua estrutura e comportamento Baseada em protótipos O objeto pode incluir o seu próprio comportamento Não tem meta-regressão

20 Self: The Power of Simplicity Princípios no desenho de Self Messages-at-the-bottom Occam's Razor Concreto

21 Self: The Power of Simplicity Messages-at-the-bottom Mensagens são a operação fundamental da linguagem Acessos são feitos através de mensagens Não existem variáveis, apenas objetos que se devolvem

22 Self: The Power of Simplicity Occam's razor Self omite Classes e Variáveis Não existe diferença entre acessar variáveis ou enviar uma mensagem. Concreto Os elementos são o mais concreto possível Para um objeto ser criado, ele é clonado Qualquer objeto pode ser clonado

23 Self: The Power of Simplicity Poderoso

24 Self: The Power of Simplicity Herança dinâmica Objetos Singleton Adicionar/remover métodos em tempo de execução Compartilha estados entre objetos Herança múltipla

25 Self: The Power of Simplicity Conclusão: - Novo paradigma para linguagens OO - Simplicidade por não precisar de classes e variáveis (eliminando meta-regressão) - Em Self é possível criar estruturas com Classes e variáveis através de protótipos.

26 Self: The Power of Simplicity

27 Self: The Power of Simplicity Dúvidas?