A camada de Apresentação
Relativamente à camada de apresentação, normalmente apenas é necessário desenvolver as classes que representam os menus da aplicação. As restantes entidades desta camada já estão concretizada na framework po-uilib. A interacção com o utilizador desta aplicação é feita através de dois menus, o menu principal e um submenu que oferece um conjunto de operações que permitem editar as entidades desta aplicação.O menu principal da aplicação é o primeiro menu que aparece quando a aplicação começa a sua execução. Nesta aplicação, este menu vai ter 3 opções:
- apresentar os números inseridos - funcionalidade concretizada pela classe ListNumbers;
- apresentar a quantidade de números guardados - funcionalidade concretizada por ShowNumberOfIntegers;
- e apresentar o menu de edição - funcionalidade concretizada por ShowEditMenu.
import ex.core.IntegerManager; import pt.tecnico.uilib.menus.Menu; public class MainMenu extends Menu { //Constructor public MainMenu(IntegerManager ent) { super("MENU PRINCIPAL", new ListNumbers(ent), new ShowNumberOfIntegers(ent), new ShowEditMenu(ent) ); } }
O submenu da aplicação vai oferecer duas opções (suportadas pelas classes AddNumber e RemoveNumber) que permitem adicionar e remover números à série de números guardada pela aplicação. Este menu é concretizado pela classe EditMenu:
package ex.app.edit; import ex.core.IntegerManager; import pt.tecnico.uilib.menus.Menu; public class EditMenu extends Menu { //Constructor public EditMenu(IntegerManager ent) { super("Mneu De Edição", new AddNumber(ent), new RemoveNumber(ent) ); } }
Por uma questão de simplificação da organização do código da aplicação cada menu é colocado no mesmo package dos serviços representados pelo menu. Por exemplo, o menu EditMenu pertence aos mesmo package que o serviço AddNumber.