Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

InterFaceDelphi2

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

Interface Delphi - Padrões de Projeto e MVC

Este é um projeto de exemplo em Delphi focado em demonstrar as melhores práticas de desenvolvimento orientado a objetos, utilizando Interfaces, o padrão de projeto Factory (Fábrica) e a arquitetura MVC (Model-View-Controller).

🚀 Sobre o Projeto

O objetivo principal deste projeto é mostrar como desacoplar o código dependendo de abstrações (Interfaces) em vez de implementações concretas (Classes). Ele simula o gerenciamento de dois tipos de entidades: Pessoa Física e Pessoa Jurídica.

⚙️ Arquitetura e Padrões Utilizados

  • Interfaces (iPessoa, iPessoaFactory): Utilizadas para definir contratos claros de como as classes de pessoa devem se comportar, possuindo métodos encadeados (Fluent Interface) para Nome, Sobrenome e exibição de dados (Display).
  • Factory Pattern (TModelPessoaFactory): Uma fábrica responsável por instanciar os objetos corretos (TModelPessoaFisica ou TModelPessoaJuridica) sem que o restante do sistema precise conhecer as classes concretas.
  • MVC (Model-View-Controller):
    • Model: Contém a regra de negócio, as classes de entidade (PessoaFisica, PessoaJuridica), as Interfaces e a Fábrica.
    • Controller: Intermedia a comunicação entre a interface visual (View) e a regra de negócio (Model) através da classe TControllerPessoa.
    • View: O formulário principal (eInterface.Model.Principal.pas), responsável pela interação com o usuário.

📁 Estrutura de Arquivos Principal

  • eInterface.Model.Interfaces.pas: Contém todas as interfaces do modelo (Ex: iPessoa).
  • eInterface.Controller.Interfaces.pas: Interfaces para comunicação do controller.
  • eInterface.Model.Pessoa.Factory.pas: Implementação da Fábrica de Pessoas.
  • eInterface.Model.PessoaFisica.pas / PessoaJuridica.pas: Classes concretas.
  • eInterface.Controller.Pessoa.pas: Controlador principal que a interface visual consome.
  • eInterface.Model.Principal.pas: Formulário de interface com o usuário.

🛠️ Como abrir

  1. Clone ou baixe este repositório.
  2. Abra o arquivo Project1.dproj em sua IDE Delphi.
  3. Compile e execute o projeto (F9).