Fala ai Radizeiros e Radizeiras, tudo bem com vocês?
Mais um post de nossa série de ORM com arquitetura MVC.
Programar usando esses padrões podemos automatizar e reduzir muito nosso trabalho, dando maior tempo para pensar e realizar coisas que sempre quisemos, mas nunca tínhamos tempo, pois ao realizar uma manutenção, você gerava outros chamados.
Não deixe para depois e vem comigo para essa série, e hoje estarei mostrando como criar o controller principal para essa nossa aplicação de exemplo que estamos desenvolvendo.
Lembra que criamos duas interfaces, uma de controller e uma de entidades, em posts anteriores?
iControllerEntidades = interface ['{46B426E1-EA18-4159-A043-8E45368A4FB3}'] function Master : iModelDAO<TMASTER>; function Cliente : iModelDAO<TCLIENT>; end; iController = interface ['{66D7531B-1E38-4A82-97C4-B7E894508B43}'] function Entidades : iControllerEntidades; end;
A nossa View, não vai acessar diretamente o controller de entidades, pois eu posso ter outras coisas nesse controller, então eu crio uma camada acima dela para que minha view possa acessar.
Através do iController a view acessa as entidades.
Agora criamos uma nova unit, e salvá-la como Blog.Controller.pas.
type TController = class(TInterfacedObject,iController) private FControllerEntidades : iControllerEntidades; public constructor Create; destructor Destroy; override; class function New : iController; function Entidades : iControllerEntidades; end; implementation { TController } constructor TController.Create; begin FControllerEntidades := TControllerEntidades.New; end; destructor TController.Destroy; begin inherited; end; function TController.Entidades: iControllerEntidades; begin Result := FControllerEntidades; end; class function TController.New: iController; begin Result := Self.Create; end; end.
Observe que criei uma variável para minha interface de controller de entidades, no create instanciamos esse nosso objeto, dando visibilidade a classe de controller de entidades, e simplesmente no método que chama a entidade eu retorno esse objeto criado.
Agora meu projeto está pronto, viu como ficou simples? Agora o mais divertido é na camada de visão, mas isso irei deixar para o próximo post…
Neste treinamento você vai aprender a aplicar técnicas que darão maior escalabilidade em seus softwares criando uma estrutura de forma prática e dinâmica, aplicando os padrões de boas práticas e clean code, além de compreender como aplicar os padrões de persistência de dados sem a necessidade de criar scripts de banco de dados.
CLIQUE AQUI E SAIBA MAIS SOBRE O TREINAMENTO COMO IMPLEMENTAR ORM EM ARQUITETURA MVC