SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
Frameworks
orientados a
   objetos
        Por
   Sergio Crespo
Frameworks
   O que é um Framework???
       “Um framework é um conjunto de classes que constitui
        um design abstrato para soluções de uma família de
        problemas” - Johnson e Foote - 1988
       “Um framework é um conjunto de objetos que
        colaboram com o objetivo de cumprir um conjunto de
        responsabilidades para uma aplicação ou um domínio
        de um subsistema.” - Johnson -1991
       “Uma arquitetura desenvolvida com o objetivo de se
        obter a máxima reutilização, representada como um
        conjunto de classes abstratas e concretas, com grande
        potencial de especialização.” - Mattsson - 1996


           © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks
                                                          ...
                                              Particularização n

                                         Particularização 2
                                       Particularização 1



     hot­spot

    Kernel




Framework




   © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
hot­spot                                     hot­spot



Framework




 © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Framework           hot­spots




      © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Input_Data                         Sort_Data




     GetData(…)                         Sort_Proc(…               hot­spot
     SetData(…)                         )
                                        Show_Vect(…
                                        )


                                                      Sort_Proc
                                                      --Bolha
                                                      --Quick-
                                                      sort
                                                      --etc...

© 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks
   Framework vs outras abordagens
       Design pattern orientado a objeto.
       Linguagem de pattern.
       Biblioteca de classes.
       Uma aplicação orientada a objetos.




          © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks
   Design Pattern orientado a objeto

       Design patterns são mais abstratos do que um
        framework.
       Design patterns possuem uma arquitetura menor do
        que um framework. Um framework pode conter
        vários Patterns, no entanto o oposto não se aplica.
       Frameworks são mais especializados do que
        patterns. Frameworks estão sempre relacionados a
        um domíno de aplicação, enquanto patterns são
        mais genéricos e podem ser aplicados em vários
        domínios de aplicação.
                                                                    [Mattsson - 1996]

           © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks
   Linguagem de pattern

       Descreve como fazer um design, enquanto um
        framework é o próprio design.
       Complementam frameworks desde que ensinem
        aos projetistas como utilizá-lo e a descrever
        porque ele foi projetado desta maneira.




                                                                   [Mattsson - 1996]


          © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks
   Biblioteca de classes
       São um conjunto de classes relacionadas que tem
        funcionalidades de propósitos gerais
       Suas classes não são relacionadas a um domínio
        de aplicação específica, como no caso de classes
        de um framework.
       A diferença é o grau de reutilização e o seu
        impacto na arquitetura da aplicação.
       Uma classe da uma biblioteca é reutilizada
        sozinha, enquanto uma classe de um framework é
        reutilizada juntamente com as outras em uma
        instanciação.
                                                                   [Mattsson - 1996]
          © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks
   Uma aplicação orientada a objeto
       Descreve a execução um programa que atende a
        todos os requisitos de uma especificação.
       Um framework captura as funcionalidades de
        diversas aplicações no domínio, mas não é
        executável, já que não cobre o comportamento de
        uma aplicação específica.


                                                                   [Mattsson - 1996]




          © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks
                                 Análise                        Design                         Aplicação

                                             Desenvolvimento  tradicional  orientado  a  objetos


                               Análise  do                    Framework
                                                                                              Aplicação  1
                                domínio                         design


                                                                                              Aplicação  2

processo de desenvolvimento                                                                 ................
                                                                                               Aplicação  n



                                       Desenvolvimento  de  aplicações  baseado  em  frameworks
O processo de desenvolvimento de um framework é mais difícil e trabalhoso, já 
que estuda­se agora soluções para um conjunto de problemas de um 
determinado domínio. Na análise do domínio, observa­se as caracteristicas 
comuns das diversas aplicações.
Desenvolve­se o framework e as diversas aplicações serão feitas a partir da 
instanciação do framework.
          © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks
   Caracterização quanto ao Uso Um framework

       orientado a objetos pode ser usado de duas
        formas:
         
             Derivando se as classes do framework.
                 ( architecture-driven ou inheritance-focused ou white box )

         
             Combinado classes existentes.
                 ( data-driven ou composition-focused ou black box ).




             © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks

Diretrizes de desenvolvimento
Existe um pequeno número de diretrizes para o desenvolvimento de
   framework.
   Uma das mais importantes que se deve ter em mente
    quando se está desenvolvendo um framework é como
    criar a interação entre o framework e o seu usuário, de
    maneira que a sua instanciação seja feita sem muito
    esforço.
   O foco deverá estar em como o usuário interaje com o
    framework. Quando o usuário for desenvolver uma
    aplicação instanciando o framework, é necessário
    determinar quais os passos que serão realizados pelo
    framework e quais serão realizados pelo usuário.

          © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks

Diretrizes de desenvolvimento
   É importante identificar quais as classes e operações
    do framework que o usuário terá que utilizar. A
    quantidade de código escrita deverá ser reduzida a
    um mínimo, e isto é possível pelos seguintes
    motivos:
   Implementações concretas do framework que
    poderão ser utilizadas sem nenhuma modificação.
   O número de classes que devem ser derivadas
    devem ser reduzidas ao menor número possível.



         © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Como instanciar um
         framework
   Formas de se instanciar um framework.

       Conectando componentes já existentes
         
             reutiliza a interface do framework
            reutiliza regras para a conexão dos componentes
       Criando novas sub-classes concretas
         
             as sub-classes são bem acopladas a super-classe
         
              é necessário ter um maior conhecimento das classes
             abstratas




             © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks
Documentação de
Frameworks
              Público X Documentação

               Propósito do                Aplicações de 
                             Como Utilizar
               Framework                     Exemplo
Decisão de 
                     X                 ­                ­
   Uso

 Utilização          X                 X                X

Manutenção           X                 X                X




 © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Frameworks - exemplos



                   ET++
                  UniDraw
                  HotDraw


© 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
ET++ Framework

ET++: A Portable Application Framework
                        André Weinand
                           Erich Gamma

ET++ is a portable application framework, used to
  make platform-independent GUI-based application
  programs, at
  The University of Illinois at Urbana-Champaign.




      © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Arquitetura




 © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
exemplo1




© 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
exemplo2




© 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
exemplo3




© 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Unidraw Framework

     Unidraw: a framework for building 
      domain­specific graphical editors
                        John Vlissides / IBM

Unidraw é um framework C++ para a criação de 
 editores gráficos customizáveis que usa a bliblioteca 
 IterViews.

  http://www.vectaport.com/pub/doc/unidraw.ps

     © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
O que é o Unidraw


              Unidraw é um framework para a criação de 
    editores gráficos orientados a objetos para domínios 
    como desenho técnico e artístico, composição de 
    músicas e design de circuitos eletrônicos.
               A arquitetura Unidraw simplifica a 
    construção desses editores provendo níveis de 
    abstrações que são comuns aos vários domínios.



        © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Unidraw

        O uso do framework Unidraw busca alcançar os 
    três pontos básicos a seguir :
       Dá suporte a uma variedade de editores de objetos gráficos 
        para vários domínios;
       Diminui significativamente o tempo para desenvolver um 
        editor específico comparado com uma implementação 
        especialista (voltada especificamente para um determinado 
        domínio);
       Pode ser usado para criar editores stand­alone com 
        performance e utilidade comparáveis àqueles 
        desenvolvidos especificamente.

         © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Abstrações do Unidraw


   Unidraw define quatro abstrações básicas : 
    ­    Componentes (components) : encapsulam a aparência e 
         a semântica dos objetos de um domínio;
    ­    Ferramentas (tools) : provêm a manipulação direta dos 
         componentes;
    ­    Comandos  (commands)  :  definem  as  operações  dos 
         componentes e objetos;
    ­    Representação externa (external representation) : define 
         como será o arquivo de saída gerado pelo editor.


        © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
UniDraw Framework




         © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Unidraw – exemplo 1




© 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Unidraw – exemplo 2




© 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Unidraw – exemplo 3




© 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
HotDraw Framework




© 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
HotDraw Framework


       HotDraw is a two-dimensional graphics framework
for structured drawing editors that is written in
VisualWorks Smalltalk. It has been used to create many
different editors from CASE tools to a HyperCard clone. You can
easily create new figures and special manipulation tools for
your drawings. Unlike many other drawing editors, HotDraw
drawings can be animated.




http://st-www.cs.uiuc.edu/users/brant/HotDraw/


         © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
HotDraw Framework




© 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
HotPaint - HotDraw




The HotPaint program is a simple painting program. This program shows how to create new figures, as well 
as, how to create new tools.


                © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
Hotdraw




               The DrawingInspector program is a visual inspector for 
               Smalltalk. Objects in Smalltalk are represented by figures, and 
               references between objects are represented by directed lines.


© 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
HotDraw




The MovingDrawing program is a simple animated program. You can draw rectangles. The rectangles 
move closer to each other until they come together in some central location. This program can be useful 
to learn how to animate drawings.
               © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
HotDraw




The NetworkEditor program uses animation to solve the n­body problem. You specify the nodes and the 
weights between the nodes in the bottom part of the window, and the top part displays the nodes. The 
editor also allows you to move the nodes if they reach a stable but un­optimal positioning.
              © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
ObjectWorld - HotDraw




The ObjectWorld program can be used for teaching some Smalltalk basics. You can draw figures in the 
bottom of the window, and animate them by entering Smalltalk commands in the top part of the 
window.       © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
PERTChart - HotDraw




The PERTChart program allows you to create and edit PERT charts. You can create new PERT figures 
and specify their name and start date. Their ending date will be automatically computed.
               © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br

Contenu connexe

En vedette

SEMANARIO 6to PODER DOMINGO 27ENERO2013 Edicion 121 def
SEMANARIO 6to PODER DOMINGO 27ENERO2013 Edicion 121 defSEMANARIO 6to PODER DOMINGO 27ENERO2013 Edicion 121 def
SEMANARIO 6to PODER DOMINGO 27ENERO2013 Edicion 121 defAngel Monagas
 
Popper - Alguns sites
Popper - Alguns sitesPopper - Alguns sites
Popper - Alguns sitesJoaquim Melro
 
Памятки в помощь лицам, прибывающим из Украины
Памятки в помощь лицам, прибывающим из УкраиныПамятки в помощь лицам, прибывающим из Украины
Памятки в помощь лицам, прибывающим из Украиныyuli2828
 
Sintese_CCV_conferencia_energia
Sintese_CCV_conferencia_energiaSintese_CCV_conferencia_energia
Sintese_CCV_conferencia_energiaAntónio Alvarenga
 
Edital Ministério do Planejamento-EPPGG
Edital Ministério do Planejamento-EPPGGEdital Ministério do Planejamento-EPPGG
Edital Ministério do Planejamento-EPPGGConcurso Virtual
 
Cartilha de redação web
Cartilha de redação webCartilha de redação web
Cartilha de redação webSamuel Lima
 
Planejamento estratégico - RioJunior - 2014
Planejamento estratégico - RioJunior - 2014Planejamento estratégico - RioJunior - 2014
Planejamento estratégico - RioJunior - 2014Hector Muniz
 
Novos formatos de midia online
Novos formatos de midia onlineNovos formatos de midia online
Novos formatos de midia onlineFred Pacheco
 
Guida facoltà
Guida facoltàGuida facoltà
Guida facoltàNiko Spina
 
What if...
What if... What if...
What if... karinbt
 

En vedette (20)

SEMANARIO 6to PODER DOMINGO 27ENERO2013 Edicion 121 def
SEMANARIO 6to PODER DOMINGO 27ENERO2013 Edicion 121 defSEMANARIO 6to PODER DOMINGO 27ENERO2013 Edicion 121 def
SEMANARIO 6to PODER DOMINGO 27ENERO2013 Edicion 121 def
 
Popper - Alguns sites
Popper - Alguns sitesPopper - Alguns sites
Popper - Alguns sites
 
Памятки в помощь лицам, прибывающим из Украины
Памятки в помощь лицам, прибывающим из УкраиныПамятки в помощь лицам, прибывающим из Украины
Памятки в помощь лицам, прибывающим из Украины
 
Sintese_CCV_conferencia_energia
Sintese_CCV_conferencia_energiaSintese_CCV_conferencia_energia
Sintese_CCV_conferencia_energia
 
Duque
DuqueDuque
Duque
 
Sentencia Diaz
Sentencia DiazSentencia Diaz
Sentencia Diaz
 
Manual Mais Cultura 2013
Manual Mais Cultura 2013Manual Mais Cultura 2013
Manual Mais Cultura 2013
 
Indec
IndecIndec
Indec
 
Ismt Renovavel
Ismt RenovavelIsmt Renovavel
Ismt Renovavel
 
Vitor Simões - ECOÁGUA
Vitor Simões  - ECOÁGUAVitor Simões  - ECOÁGUA
Vitor Simões - ECOÁGUA
 
El equipo de gmail mail
El equipo de gmail mailEl equipo de gmail mail
El equipo de gmail mail
 
Edital Ministério do Planejamento-EPPGG
Edital Ministério do Planejamento-EPPGGEdital Ministério do Planejamento-EPPGG
Edital Ministério do Planejamento-EPPGG
 
Cartilha de redação web
Cartilha de redação webCartilha de redação web
Cartilha de redação web
 
Elemento ancora
Elemento ancoraElemento ancora
Elemento ancora
 
Planejamento estratégico - RioJunior - 2014
Planejamento estratégico - RioJunior - 2014Planejamento estratégico - RioJunior - 2014
Planejamento estratégico - RioJunior - 2014
 
SciFinder - Apresentação
SciFinder - ApresentaçãoSciFinder - Apresentação
SciFinder - Apresentação
 
Novos formatos de midia online
Novos formatos de midia onlineNovos formatos de midia online
Novos formatos de midia online
 
цод
цодцод
цод
 
Guida facoltà
Guida facoltàGuida facoltà
Guida facoltà
 
What if...
What if... What if...
What if...
 

Similaire à Frameworks OO

Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Adriano Teixeira de Souza
 
Reutilização
ReutilizaçãoReutilização
Reutilizaçãoemjorge
 
Tendências das Arquiteturas dos Ambientes de Aprendizagem
Tendências das Arquiteturas dos Ambientes de AprendizagemTendências das Arquiteturas dos Ambientes de Aprendizagem
Tendências das Arquiteturas dos Ambientes de AprendizagemSergio Crespo
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Marcius Brandão
 
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.docx
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.docxPROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.docx
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.docxHELENO FAVACHO
 
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.pdf
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.pdfPROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.pdf
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.pdfHELENO FAVACHO
 
Padrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsPadrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsHerval Freire
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012Luís Cobucci
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvcJhordam Siqueira
 
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...Isaac de Souza
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 

Similaire à Frameworks OO (20)

Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
 
Reutilização
ReutilizaçãoReutilização
Reutilização
 
Tendências das Arquiteturas dos Ambientes de Aprendizagem
Tendências das Arquiteturas dos Ambientes de AprendizagemTendências das Arquiteturas dos Ambientes de Aprendizagem
Tendências das Arquiteturas dos Ambientes de Aprendizagem
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.docx
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.docxPROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.docx
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.docx
 
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.pdf
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.pdfPROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.pdf
PROJETO INTEGRADO ÁREAS DE TI - criptografia de dados.pdf
 
Poo frank
Poo frankPoo frank
Poo frank
 
Aula05 frameworks
Aula05 frameworksAula05 frameworks
Aula05 frameworks
 
Padrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsPadrões De Projeto e Anti Patterns
Padrões De Projeto e Anti Patterns
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
Programação orientada à objetos & mvc
Programação orientada à objetos & mvcProgramação orientada à objetos & mvc
Programação orientada à objetos & mvc
 
3 oo-concepts
3 oo-concepts3 oo-concepts
3 oo-concepts
 
Aula 05
Aula 05Aula 05
Aula 05
 
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
Esquenta TDC - Como DDD e principalmente Domain Model contribuem na construçã...
 
Apresentação c++ UFC-Quixadá
Apresentação c++ UFC-QuixadáApresentação c++ UFC-Quixadá
Apresentação c++ UFC-Quixadá
 
Artigo c#
Artigo c#Artigo c#
Artigo c#
 
Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 

Plus de Sergio Crespo

O pensamento computacional com forma de potencializar o aprendizado
O pensamento computacional com forma de potencializar o  aprendizadoO pensamento computacional com forma de potencializar o  aprendizado
O pensamento computacional com forma de potencializar o aprendizadoSergio Crespo
 
O Pensamento Computacional no Desenvolvimento do alunos Autista e desafios
O Pensamento Computacional no Desenvolvimento do alunos Autista e desafiosO Pensamento Computacional no Desenvolvimento do alunos Autista e desafios
O Pensamento Computacional no Desenvolvimento do alunos Autista e desafiosSergio Crespo
 
Novo Perfil do profissional de TI frente as redes sociais
Novo Perfil do profissional de TI frente as redes sociaisNovo Perfil do profissional de TI frente as redes sociais
Novo Perfil do profissional de TI frente as redes sociaisSergio Crespo
 
Arquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemanticaArquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemanticaSergio Crespo
 
Arquiteturas usando Pipes and Filters
Arquiteturas usando Pipes and FiltersArquiteturas usando Pipes and Filters
Arquiteturas usando Pipes and FiltersSergio Crespo
 
Arquitetura de software - Introdução
Arquitetura de software - IntroduçãoArquitetura de software - Introdução
Arquitetura de software - IntroduçãoSergio Crespo
 
Redes sociais e Educação
Redes sociais e EducaçãoRedes sociais e Educação
Redes sociais e EducaçãoSergio Crespo
 

Plus de Sergio Crespo (8)

O pensamento computacional com forma de potencializar o aprendizado
O pensamento computacional com forma de potencializar o  aprendizadoO pensamento computacional com forma de potencializar o  aprendizado
O pensamento computacional com forma de potencializar o aprendizado
 
O Pensamento Computacional no Desenvolvimento do alunos Autista e desafios
O Pensamento Computacional no Desenvolvimento do alunos Autista e desafiosO Pensamento Computacional no Desenvolvimento do alunos Autista e desafios
O Pensamento Computacional no Desenvolvimento do alunos Autista e desafios
 
Novo Perfil do profissional de TI frente as redes sociais
Novo Perfil do profissional de TI frente as redes sociaisNovo Perfil do profissional de TI frente as redes sociais
Novo Perfil do profissional de TI frente as redes sociais
 
Lean software
Lean software Lean software
Lean software
 
Arquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemanticaArquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemantica
 
Arquiteturas usando Pipes and Filters
Arquiteturas usando Pipes and FiltersArquiteturas usando Pipes and Filters
Arquiteturas usando Pipes and Filters
 
Arquitetura de software - Introdução
Arquitetura de software - IntroduçãoArquitetura de software - Introdução
Arquitetura de software - Introdução
 
Redes sociais e Educação
Redes sociais e EducaçãoRedes sociais e Educação
Redes sociais e Educação
 

Dernier

PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfAnaGonalves804156
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoSilvaDias3
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxacaciocarmo1
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfErasmo Portavoz
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyasminlarissa371
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxDeyvidBriel
 
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdfNoções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdfdottoor
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundonialb
 
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASEdinardo Aguiar
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do  3ANO fundamental 1 MG.pdfPLANEJAMENTO anual do  3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdfProfGleide
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxLuizHenriquedeAlmeid6
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdfDemetrio Ccesa Rayme
 

Dernier (20)

PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdfPPT _ Módulo 3_Direito Comercial_2023_2024.pdf
PPT _ Módulo 3_Direito Comercial_2023_2024.pdf
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basico
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptx
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdf
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
 
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdfNoções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundo
 
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNASQUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
QUIZ DE MATEMATICA SHOW DO MILHÃO PREPARAÇÃO ÇPARA AVALIAÇÕES EXTERNAS
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do  3ANO fundamental 1 MG.pdfPLANEJAMENTO anual do  3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
 

Frameworks OO

  • 1. Frameworks orientados a objetos Por Sergio Crespo
  • 2. Frameworks  O que é um Framework???  “Um framework é um conjunto de classes que constitui um design abstrato para soluções de uma família de problemas” - Johnson e Foote - 1988  “Um framework é um conjunto de objetos que colaboram com o objetivo de cumprir um conjunto de responsabilidades para uma aplicação ou um domínio de um subsistema.” - Johnson -1991  “Uma arquitetura desenvolvida com o objetivo de se obter a máxima reutilização, representada como um conjunto de classes abstratas e concretas, com grande potencial de especialização.” - Mattsson - 1996 © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 3. Frameworks ... Particularização n Particularização 2 Particularização 1 hot­spot Kernel Framework © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 4. hot­spot hot­spot Framework © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 5. Framework hot­spots © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 6. Input_Data Sort_Data GetData(…) Sort_Proc(… hot­spot SetData(…) ) Show_Vect(… ) Sort_Proc --Bolha --Quick- sort --etc... © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 7. Frameworks  Framework vs outras abordagens  Design pattern orientado a objeto.  Linguagem de pattern.  Biblioteca de classes.  Uma aplicação orientada a objetos. © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 8. Frameworks  Design Pattern orientado a objeto  Design patterns são mais abstratos do que um framework.  Design patterns possuem uma arquitetura menor do que um framework. Um framework pode conter vários Patterns, no entanto o oposto não se aplica.  Frameworks são mais especializados do que patterns. Frameworks estão sempre relacionados a um domíno de aplicação, enquanto patterns são mais genéricos e podem ser aplicados em vários domínios de aplicação. [Mattsson - 1996] © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 9. Frameworks  Linguagem de pattern  Descreve como fazer um design, enquanto um framework é o próprio design.  Complementam frameworks desde que ensinem aos projetistas como utilizá-lo e a descrever porque ele foi projetado desta maneira. [Mattsson - 1996] © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 10. Frameworks  Biblioteca de classes  São um conjunto de classes relacionadas que tem funcionalidades de propósitos gerais  Suas classes não são relacionadas a um domínio de aplicação específica, como no caso de classes de um framework.  A diferença é o grau de reutilização e o seu impacto na arquitetura da aplicação.  Uma classe da uma biblioteca é reutilizada sozinha, enquanto uma classe de um framework é reutilizada juntamente com as outras em uma instanciação. [Mattsson - 1996] © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 11. Frameworks  Uma aplicação orientada a objeto  Descreve a execução um programa que atende a todos os requisitos de uma especificação.  Um framework captura as funcionalidades de diversas aplicações no domínio, mas não é executável, já que não cobre o comportamento de uma aplicação específica. [Mattsson - 1996] © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 12. Frameworks Análise Design Aplicação Desenvolvimento  tradicional  orientado  a  objetos Análise  do Framework Aplicação  1 domínio design Aplicação  2 processo de desenvolvimento ................ Aplicação  n Desenvolvimento  de  aplicações  baseado  em  frameworks O processo de desenvolvimento de um framework é mais difícil e trabalhoso, já  que estuda­se agora soluções para um conjunto de problemas de um  determinado domínio. Na análise do domínio, observa­se as caracteristicas  comuns das diversas aplicações. Desenvolve­se o framework e as diversas aplicações serão feitas a partir da  instanciação do framework. © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 13. Frameworks  Caracterização quanto ao Uso Um framework  orientado a objetos pode ser usado de duas formas:  Derivando se as classes do framework.  ( architecture-driven ou inheritance-focused ou white box )  Combinado classes existentes.  ( data-driven ou composition-focused ou black box ). © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 14. Frameworks Diretrizes de desenvolvimento Existe um pequeno número de diretrizes para o desenvolvimento de framework.  Uma das mais importantes que se deve ter em mente quando se está desenvolvendo um framework é como criar a interação entre o framework e o seu usuário, de maneira que a sua instanciação seja feita sem muito esforço.  O foco deverá estar em como o usuário interaje com o framework. Quando o usuário for desenvolver uma aplicação instanciando o framework, é necessário determinar quais os passos que serão realizados pelo framework e quais serão realizados pelo usuário. © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 15. Frameworks Diretrizes de desenvolvimento  É importante identificar quais as classes e operações do framework que o usuário terá que utilizar. A quantidade de código escrita deverá ser reduzida a um mínimo, e isto é possível pelos seguintes motivos:  Implementações concretas do framework que poderão ser utilizadas sem nenhuma modificação.  O número de classes que devem ser derivadas devem ser reduzidas ao menor número possível. © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 16. Como instanciar um framework  Formas de se instanciar um framework.  Conectando componentes já existentes  reutiliza a interface do framework  reutiliza regras para a conexão dos componentes  Criando novas sub-classes concretas  as sub-classes são bem acopladas a super-classe  é necessário ter um maior conhecimento das classes abstratas © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 17. Frameworks Documentação de Frameworks Público X Documentação Propósito do  Aplicações de  Como Utilizar Framework Exemplo Decisão de  X ­ ­ Uso Utilização X X X Manutenção X X X © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 18. Frameworks - exemplos ET++ UniDraw HotDraw © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 19. ET++ Framework ET++: A Portable Application Framework André Weinand Erich Gamma ET++ is a portable application framework, used to make platform-independent GUI-based application programs, at The University of Illinois at Urbana-Champaign. © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 24. Unidraw Framework  Unidraw: a framework for building  domain­specific graphical editors John Vlissides / IBM Unidraw é um framework C++ para a criação de  editores gráficos customizáveis que usa a bliblioteca  IterViews. http://www.vectaport.com/pub/doc/unidraw.ps © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 25. O que é o Unidraw  Unidraw é um framework para a criação de  editores gráficos orientados a objetos para domínios  como desenho técnico e artístico, composição de  músicas e design de circuitos eletrônicos.   A arquitetura Unidraw simplifica a  construção desses editores provendo níveis de  abstrações que são comuns aos vários domínios. © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 26. Unidraw  O uso do framework Unidraw busca alcançar os  três pontos básicos a seguir :  Dá suporte a uma variedade de editores de objetos gráficos  para vários domínios;  Diminui significativamente o tempo para desenvolver um  editor específico comparado com uma implementação  especialista (voltada especificamente para um determinado  domínio);  Pode ser usado para criar editores stand­alone com  performance e utilidade comparáveis àqueles  desenvolvidos especificamente. © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 27. Abstrações do Unidraw  Unidraw define quatro abstrações básicas :  ­ Componentes (components) : encapsulam a aparência e  a semântica dos objetos de um domínio; ­ Ferramentas (tools) : provêm a manipulação direta dos  componentes; ­ Comandos  (commands)  :  definem  as  operações  dos  componentes e objetos; ­ Representação externa (external representation) : define  como será o arquivo de saída gerado pelo editor. © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 28. UniDraw Framework © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 29. Unidraw – exemplo 1 © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 30. Unidraw – exemplo 2 © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 31. Unidraw – exemplo 3 © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 33. HotDraw Framework        HotDraw is a two-dimensional graphics framework for structured drawing editors that is written in VisualWorks Smalltalk. It has been used to create many different editors from CASE tools to a HyperCard clone. You can easily create new figures and special manipulation tools for your drawings. Unlike many other drawing editors, HotDraw drawings can be animated. http://st-www.cs.uiuc.edu/users/brant/HotDraw/ © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br
  • 36. Hotdraw The DrawingInspector program is a visual inspector for  Smalltalk. Objects in Smalltalk are represented by figures, and  references between objects are represented by directed lines. © 2010  Prof. D.Sc. Sérgio Crespo      email:crespo@unisinos.br