Sei sulla pagina 1di 4

Criando Templates

Um template um formato gravado de algum item que voc queira utilizar outras vezes. Um exemplo simples poderia as matrizes para a produo de chips dos processadores. Uma vez que o chip tenha sido finalidade, a matriz criada e os chips so estampados em silcio e colocados em computadores. O Delphi possui uma coleo de templates predefinidos para forms, menus e projetos. Ele mantm estes templates em 'repositrios. Sempre que voc comea a criar um novo projeto, form ou menu, voc pode selecionar um dos templates do repositrio apropriado. Podemos personalizar a forma como o Delphi permite a utilizao de templates. Voc pode gerenciar os repositrios do Delphi utilizando o item de menu Toois | Repository..., que apresenta a caixa de dilogo a seguir

Esta caixa de dilogo permite que voc adicione, edite e apague pginas no repositrio. Ela tambm permite que voc configure defaults para novos forms e o form principal de uma aplicao. Voc tambm pode editar ou apagar qualquer template no repositrio. O Delphi ainda permite a criao de templates para forms, projetos e menus.

Templates de Forms
Um template de um form um form predefnido que voc pode utilizar como ponto de partida quando quiser criar um novo form. Por exemplo, se voc acha que est criando repetidamente caixas de dilogo com as mesmas opes e o mesmo layout geral, esta caixa de dilogo provavelmente um bom candidato para um template. Assim, quando voc precisar criar outra verso desta caixa de dilogo, voc pode comear com o template e personaliz-lo para seu uso em particular.

Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol

Qualquer form que voc crie no Delphi pode ser gravado como um template. De fato, uma das opes do speed menu no Form Designer Add To Repository. Caso voc selecione esta opo, voc poder visualizar a caixa de dilogo Add To Repository: Da mesma forma que voc pode gravar forms como templates, voc pode gravar projetos inteiros como templates. Simplesmente crie o projeto que voc queira gravar e utilize o comandoProject | Add To Repository no menu.

Estratgias de Templates
Templates bem desenhados podem acelerar bastante o desenvolvimento de uma aplicao. Os templates fornecem uma base para construir cada form em um projeto. Isto permite que os programadores se concentrem na funcionalidade especfica de cada form. Quanto mais cdigo fornecido pela base (template), menor a quantidade de cdigo a ser mantida na aplicao. Tempo de desenvolvimento menor e menos manuteno de cdigo se traduz diretamente em menor custo no desenvolvimento do programa. Para cada template, devemos primeiro decidir como pretendemos utiliz-lo no desenvolvimento de softwares futuros. Definindo o escopo do template com sucesso, podemos assegurar a efetividade do template. Quando utilizamos um template no Delphi, temos trs opes diferentes de como utiliz-lo: Copy, Inherit, ou Use. Cada opo apresenta um conjunto diferente de estratgias para o template.

Regras Gerais para o Design de Templates


No crie dependncias externas. Se Form2 depende de uma propriedade de Forml, ento Form2 no um bom candidato a um template. Se transformarmos Form 2 em um template e o incluirmos em outra aplicao, precisaramos tambm de Form l no projeto. No dependa de variveis globais. Templates que necessitem que determinadas variveis existam no sistema podem produzir resultados inesperados.

Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol

No programe demais. Raramente precisamos de forms idnticos em duas aplicaes diferentes. Geralmente, os melhores templates so aqueles que fornecem a maioria das solues, e no a soluo inteira. Voc provavelmente no ir querer criar um form baseado em um template, e depois remover funcionalidade. No altere informaes de sistema. Se criarmos um "Formulrio de Pesquisa", e inicializarmos o componente TDataSource no template com um componente TTablej definido no sistema, no altere o ndice da tabela atravs do template (ou assegure-se de restaur-lo na sada). Crie templates genricos. Quanto mais genrico o template, mais uso voc ter para ele. O Delphi fornece um template de form "Dual List Box". O que toma este template efetivo que ele somente atualiza as listas baseado nos itens selecionados e nos botes pressionados. Temos que dar a este form um propsito em nosso sistema. Crie propriedades de interface. No altere diretamente os componentes do template. Se componentes (ou campos) forem alterados no template, devemos modificar todas as aplicaes que acessem os componentes alterados. A melhor soluo definir propriedades que iro inicializar todos os componentes. Isto nos permite alterar os detalhes de implementao sem ter que alterar a forma como nossa aplicao se comunica com eles. Opo Use para Templates Esta opo promove a maior reusabilidade de cdigo entre aplicaes. Infelizmente, tambm a mais perigosa. Selecionando a opo use dentro do Object Repository resulta em uma referncia ao form sendo adicionada ao seu projeto. Isto significa que no somente voc pode acessar este form dentro do projeto, mas tambm fazer modificaes no original. Esta opo utilizada somente se o form for utilizado sem qualquer modificao na aplicao. Um bom candidato para este tipo de template um Calendrio. O usurio seleciona uma data neste form, e o form chamador acessa a data selecionada no calendrio. Esta opo no viola a regra "No programe demais" de design porque queremos forms idnticos em diferentes projetos. Este tipo de template deve fornecer a soluo total. Vantagens: Quando voc altera o template, voc pode atualizar todos os projetos que utilizam a referncia ao template simplesmente recompilando a aplicao. Desvantagens: Modificaes no template resultam em alteraes em todos os projetos que utilizam o form, o que pode resultar em erros. Voc deve modificar este template somente para correo de "bugs". Se voc adicionar qualquer propriedade a este template, voc pode ter que alterar cada um dos projetos que o utilizem. Opo Copy para Templates Esta opo a forma como os templates eram manipulados no Delphi v1.0. Esta opo copia o cdigo deste form (*.PAS), e de sua definio (*.DFM) no projeto. Este tipo de template so os melhores quando voc tem a maioria (ou todas) das propriedades definidas, mas necessita de informaes especficas aplicao nele.
Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol

Um bom candidato a este tipo de template um About Box. O About Box fornece um cone da aplicao, nome de programa, verso, informao de copyrighl e comentrios. Podemos, depois, trazer este form ao Form Designei' e fornecer as informaes especficas aplicao em tempo de design. Vantagens: Consistncia de cdigo. Todo About Box (o template About Box que acompanha o Delphi) possui um labels chamados ProductName, Version, Copyright, e Comments. Possibilidade de personalizar este form em tempo de design adicionando/removendo propriedades. Desvantagens: Quaisquer manutenes feitas no template no esto disponveis a aplicaes criadas anteriormente. Cada aplicao que utilizava este template necessita que a mesma manuteno seja feita. A opo copy a melhor somente quando voc deve remover componentes do template. Isto indica que o template foi "super-programado."

Opo Inherit para Templates Esta opo herda o template e cria um novo form filho. Podemos, ento, adicionar a funcionalidade que precisamos. Esta opo a melhor quando o template precisa de mais propriedades/funcionalidade adicionadas. Se criarmos templates genricos, ento esta sempre a melhor opo. A opo inherit combina as vantagens dos templates referenciados com as vantagens dos templates copiados. Vantagens: Quando efetuar qualquer manuteno no template, voc pode atualizar todos os projetos que utilizem o form simplesmente fazendo um rebuild (Compile | Build AH) na aplicao. Possibilidade de adicionar recursos e funcionalidade a este template em tempo de design. Desvantagens: No podemos remover componentes que tenham sido herdados (podemos somente desabilit-los ou ocult-los). Caso voc tenha seguido as "Regras Gerais para Design de Templates", neste mesmo captulo, esta sempre a melhor soluo. Perceba que a regra "No programe demais" facilmente ignorada. Podemos herdar um template que tenha sido herdado de outro template, que tenha sido herdado de outro template, etc. Se nos mantivermos disciplinados no design de nossos templates, podemos acelerar em muito o desenvolvimento de uma aplicao.

Disciplina: Programao Orientada a Objetos Professor: Giovani Dall Agnol

Potrebbero piacerti anche