MAC 441/5714 - Programação Orientada a Objetos

Aula 22 - 17/6/2008

Dependências em Smalltalk

  • Object>>expressInterestIn: anAspect for: anObject sendBack: aSelector
        "Arrange for anObject to receive a message named aSelector when
        I signal that my attribute anAspect has changed."

        | dt deps |
        dt := DependencyTransformer new. "funciona como um proxy"
        dt
            setReceiver: anObject
            aspect: anAspect
            selector: aSelector.
        deps := self myDependents.
        (deps class == DependentsCollection
            ifTrue: [deps includes: dt]
            ifFalse: [deps = dt]) ifTrue:
            [^self].
        self addDependent: dt
  • Padrão Observer (293) do GoF

    Relacionamento entre Padrões de Projeto de Software

    Referências


    Página de MAC 441/5714
    Página do Fabio
    Página do DCC