A Aplicação Exemplo
O objectivo da aplicação a desenvolver é guardar uma série de inteiros (únicos) inseridos pelo utilizador, sendo possível realizar as seguintes operações sobre esta lista de inteiros:
- Acrescentar um novo número à série;
- Remover um número da série;
- Apresentar a lista de números inseridos pela mesma ordem em que eles foram inseridos;
- Indicar o número de inteiros presente na série.
A classe Menu recebe um vector de comandos e mostra os títulos destes comandos por forma a que os utilizadores saibam as operações disponíveis. Cabe ainda ao menu executar o comando correspondente à opção escolhida pelo utilizador. De um modo geral, só se sai de um menu quando se escolhe a opção Sair (esta opção é concretizada automaticamente por um menu, não sendo necessário concretizar um comando específico para esta opção). Caso se escolha outra opção que não a opção Sair, então o menu executará o comando correspondente à opção escolhida (por forma a realizar a funcionalidade associada à opção escolhida) e de seguida voltará a apresentar o conjunto de opção do menu e a pedir ao utilizador para escolher uma nova opção. Todas estas entidades são fornecidas pela framework po-uilib. Uma descrição detalhada destas entidades pode ser encontrada nesta secção.
Relativamente à interacção da aplicação a desenvolver, decidiu-se apresentar as opções ao utilizador utilizando dois menus: o menu principal e o menu de edição. O menu principal apresenta as opções:
- Apresentar a série de inteiros;
- Indicar a quantidade de inteiros presente na série;
- Abrir o menu de edição.
- Acrescentar um inteiros à série;
- Remover um inteiro da série
De seguida vamos apresentar as várias entidades desenvolvidas para cada uma das camadas da aplicação a desenvolver. A camada de lógica de negócio da aplicação é apresentada nesta secção. A secção Camada de Serviços apresenta a concretização da camada de serviços desta aplicação exemplo, apresentando os vários serviços concretizados e os dois menus da aplicação. O ponto de entrada da aplicação exemplo é descrito nesta secção.
Organização do código da aplicação
De seguida descreve-se a organização do código da aplicação. As diferentes camadas da aplicação devem ser guardadas em diferentes packages da aplicação. O package raiz da aplicação tem o nome ex. O código da camada de domínio deve ser guardado no sub-package com o nome ex.core, enquanto que o código da camada de serviços deve ser guardado no sub-package ex.app. Por uma questão de organização, cada menu e respectivos comandos devem ser guardados num sub-package de app. A classe com o ponto de entrada da aplicação (e onde o menu principal da aplicação é criado e aberto) deve estar no package da camada de serviços (ex.app neste caso). A seguinte figura mostra a estrutura de directórios que a aplicação exemplo deverá ter:
Código do Exemplo
Código fonte completo do exemplo: exemplo.jar