Artigos de t4 no Olegsych.com
Eu já me referi aos templates t4 neste blog, num post entitulado “VSX – DSLs ->T4“. Confesso que os templates t4 tem sido uma das amis importantes tecnologias que tenho usado nos últimos meses em termos de desenvolvimento. Tem me permitido analisar as aplicações que estou a desenvolver de outra forma, podendo cosntruir uma estrutura mais coerente e com melhroes capacidades de gestão. Tem tambem permitido melhorar a capacidade de code-reuse e retirado o típico esforço de trabalho repetitivo, comun na construção de DALs.
Um dos blogs que mais informação tem sobre estes templates é o de Oleg Sych. Há uma panóplia de artigos associados ao conceito e tema, e inclui muita experiência na exploração dos templates. Eu recomendo a todos os que desenvolvem aplicações em .NET a analisarem os templates e o poder que oferece no workflow. É verdadeiramente espantoso na geração de código, customizado às necessidades e dinâmico!
Naturalmente o site do Oleg tem uma lista infindável de artigos, mas vou listar alguns dos mais importantes e uteis e que pode ser um óptimo ponto de partida. A partir daí é saltar de link em link….
How to create a simple T4 template – Além da apresentação simplificada do potencial dos templates, e o modo de uso, ainda demonstra como passar valores de um ficheiro para outro.
Why use T4 Toolbox? – T4 Toolbox é um conjunto de templates que o Oleg desenvolveu e que disponibiliza, com uma série de tarefas já integradas, como criação de métodos CRUD, ficheiros .config, decorator e AzMan, além de funções para criar outputs multi ficheiros, e diferentes abordagens nos templates.
How to use T4 to generate strongly-typed AzMan wrapper – AzMan, ou Authorization Manager é um módulo que implementa o modelo RBAC de autorização em aplicações, podendo gerir autorização ao nível do perfil e até da operação numa aplicação.
How to use T4 to generate Decorator classes – o poder de introspecção
How to generate multiple outputs from single T4 template – Uma das tarefas complicadas é criar multiplos ficheiros a partir de um template (por exemplo um ficheiro por classe criado por um template), porque o designer cria um ficheiro de saída (geralmente .cs) automáticamente. Um método de tmeplate resolve o assunto.
T4 Template Design: Merged Template Class – óptimo para criar blocos mais pequenos e inserir em templates mais complexos. Um pouco ao estilo da extracção de métodos em C#.
T4 Template Design: Template Method – óptimo para criar métodos uteis a mais ficheiros e templates.
T4 Template Design: Standalone Template – utilizando o CallContext para obter dados a incluir no template.
T4 Template Design: Nested Template Class – OOP aplicado a templates!