Tags:
create new tag
, view all tags

Modularidade entre OO e AO com Design Rules

Design Rules

  • São utilizadas para conciliar classes e a modularização de crosscutting concerns em aspectos;

  • Ao utilizar Design Rules, conseguimos evitar que aspectos, feitos para modularizar croscutting concerns, quebrem a modularidade de classes OO.

  • Parecidas com interfaces, tem como objetivo especificar, com o menor número de informações possível, o que deve estar presente em certas classes e em certos aspectos para que a implementação de um dado concern (Aspectos e Classes) possa ocorrer em paralelo, com mais de uma equipe (mais de um desenvolvedor) trabalhando ao mesmo tempo, sem que seja necessário algum tipo de comunicação direta entre as equipes (desenvolvedores)

Solução sem o uso de Design-Rules: Desenvolvimento sequencial Solução sem o uso de Design-Rules: Desenvolvimento em paralelo
solution-without-dr.png solution-with-dr.png

Apresentação

  • As Design Rules do seu trabalho devem devem seguir o padrão presente nos slides da aula 6/11, como o seguinte exemplo abaixo:

dr ExceptionHandler {

   public class org.name.of.package.ProgramExecution {
      public void readFile {
         ..         
         IOException exception originated inside this method should not be handled.
         ..  
      }
   }
   
   aspect org.package.of.aspect.ExceptionAspect {
      pointcut readFileExecution(): execution(* org.name.of.package.ProgramExecution(..));
      
      void around(): readFileExecution() { ... }
   }
}

  • As Design-Rules de seu projeto podem conter tanto trechos de código como descrições textuais (como presente no exemplo acima).

  • Lembre-se: As Design-Rules devem ser capazes de guiar as equipes que irão implementar as Classes e os Aspectos (referentes a cada concern modularizado), evitando que exista comunicação entre tais equipes.

  • Suas Design-Rules devem ser as mais genéricas possível. Não coloque muitos detalhes específicos de implementação dentro delas. Em um uso real, as Design-Rules são criadas antes da implementação do projeto, ou seja, detalhes mais profundos de implementação ainda são desconhecidos.

  • As Design-Rules obtidas em seu projeto podem ser apresentadas tanto em arquivos .txt, .doc, apresentação ppt ou até em html, contanto que elas estejam de acordo com a especificação aqui contida. Durante sua apresentação será necessário fazer um paralelo com o código fonte, para mostrar exatamente onde cada Design-Rule se aplica.

-- CarlosEduardoPontual - 31 Oct 2008

Topic revision: r1 - 2008-10-31 - CarlosEduardoPontual
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback

mersin escort bayan adana escort bayan izmit escort ankara escort bursa escort