Fórum Como melhor dividir minha solução em projetos #1432

16/12/2008

0

Vamos desenvolver uma solução que irá conter os seguintes módulos:     - Financeiro (Cadastro e controle de caixas, bancos, ctas a receber, cheques, etc) - Estoque (Gestão de estoque, Compras, vendas, Orçamentos, Etc.) - Produção (Gestão Industrial) - Serviços (Ordens de Serviços e Gestão de prestação de serviços) - Academia (Controle de turmas, modalidades, agendamentos, controle de alunos, etc.) - Frota (Cadastro de veículos, motoristas, gestão de fretes e ordens de frete, manutenção de veículo, etc.)   Esta solução será desenvolvida utilizando o Visual Studio 2008 e C#, todos estes módulos apresentados acima serão integrados por um único executável e chamados em um único menu (formulário principal). Os módulos deverão interagir entre sim. (todos utilizaram o módulo financeiro e a maioria utilizará o de estoque). Todos os módulos deverão herdar formulários de um projeto principal, devem estes tbm utilizar funções comuns deste projeto principal O Banco de dados será um só arquivo (SQL Server)   Precisamos criar projetos dentro desta solução para que atenda os seguintes requisitos:             - O Sistema completo deve ficar leve e pequeno;             - Para a programação os módulos devem se comunicar - O Desenvolvedor/Programador que participa de um projeto/módulo, não deve ter acesso ao fonte de outro módulo; - O Desenvolvedor de um projeto/módulo, pode chamar funções/métodos de outros projetos quando este for publico. - Os desenvolvedores Utilizarão o Visual SourceSafe para controlar a versão do software   Como poderíamos criar a solução no Visual Studio 2008 e integra-la o Visual Source Safe da melhor forma para atendermos estas necessidades? Obrigado!
Alex Mazur

Alex Mazur

Responder

Posts

16/12/2008

Fabio Mans

Minha sugestão é criar uma solução para cada projeto, não sei se você trabalha em camadas mas é o ideal.   Vamos ao exemplo   Primeiro defina uma Namespace – Suampresa.Financeiro. Business / Entity / Persistence     Desenvolva um projeto Class Library para cada módulo.  Por exemplo,  as propriedades da classe Financeiro devem ficar na Entity,  outro camada com os chamados aos métodos do banco na camada Persistence. Como você mesmo disse, o programador só vai ter acesso ao módulo se a classe ou método for público.   No SourceSafe você irá restringir os projetos por programador, o que ele pode ver ou não, e esta troca será feita através da DLL. O programador que está desenvolvendo o módulo Academia,  pode utilizar a DLL (camada) Persistence da Produção para ler uma base de dados por exemplo.   Outra dica é criar um projeto Framework onde você irá ter as principais ferramentas, como uma camada de acesso a dados, uma ferramenta de envio de email, outra de criptografia, assim os módulos serão parecidos, procure padronizar tudo, os métodos, as procedures e os nomes das variáveis, banco e tabelas, caso um programador vá dar manutenção em um módulo que nunca trabalhou ele não irá se perder.
Responder

Gostei + 0

16/12/2008

Alex Mazur

Ok! mas desta forma eu poderei criar uma solução crincipal e dela chamar um formulario do projeto de frotas por exemplo?   se sim, como isso será possivel?
Responder

Gostei + 0

16/12/2008

Fabio Mans

Você vai reaproveitar a DLL, ou seja métodos e classes. Nos Forms você pode criar uma Master Page (Leia este artigo) e sempre herdar dela, se você estiver falando de Designer, é isso? Também é possível você criar UserControl e utilizar em vários projetos.
https://www.devmedia.com.br/articles/viewcomp.asp?comp=5108      
Responder

Gostei + 0

17/12/2008

Alex Mazur

Isso poderia tbm ser utilizado para windows forms?
Responder

Gostei + 0

17/12/2008

Fabio Mans

Não o contecei de Master Pages e User Control é o para Web. Sobre este conceito que te falei utilizar camadas é que você pode a dll tanto para web quanto para Windows.   Estes projetos que estamos conversar serão Web ou Windows?
Responder

Gostei + 0

17/12/2008

Alex Mazur

Na verdade será em windows... apenas alguns relatórios e modulos básivos em .net
Responder

Gostei + 0

17/12/2008

Fabio Mans

Sem problemas, fazendo sua aplicação em camadas você pode utilizar tanto Web quanto Windows. Tem mais alguma dúvida?
Responder

Gostei + 0

17/12/2008

Alex Mazur

Sim! em windows, disponibilizando meus formularios padrões para herança no projeto principal (este ficará em dll) consiguirei herdar destes em outros projetos? como?
Responder

Gostei + 0

17/12/2008

Fabio Mans

Para Windows Forms existem alguns artigos que mostram como herdar.   Herdar de controles existentes Windows Forms http://msdn.microsoft.com/pt-br/library/5h0k2e6x.aspx       Using inheritance to create Windows Forms dialogs. / Windows Forms / C# http://netcode.ru/dotnet/?lang=&katID=30&skatID=283&artID=7858   Sobre consumir uma dll para herdar formulários eu nunca vi, e não achei nenhum artigo sobre o assunto.      
Responder

Gostei + 0

17/12/2008

Fabio Mans

Mas alguma dúvida?  O post anterior ficou vago, te passei somente um link, porque Windows não faz parte do escopo desta consultoria, caso seja Web repito procure os vídeos e artigos sobre Master Pages e User Control, ambos podem ser reaproveitados em seu projeto.    
Responder

Gostei + 0

18/12/2008

Alex Mazur

Teria uma consultoria destinada a windows forms?
Responder

Gostei + 0

18/12/2008

Fabio Mans

Vou verificar e te falo, você viu os artigos que te passei no Link, sobre reaproveitamento do Forms.
Responder

Gostei + 0

18/12/2008

Fabio Mans

Alex eu me informei não existe consultoria para Windows Forms .NET
Responder

Gostei + 0

18/12/2008

Alex Mazur

Ok! mto obrigado!
Responder

Gostei + 0

23/12/2008

Fabio Mans

Olá eu gostaria de saber se você tem mais alguma dúvida sobre como dividir sua solução, se entendeu como criar as projetos do tipo Class Library, se tem dúvidas de como utilizar Master Pages e User Control? Sobre Master Pages e User Control na site da DevMedia tem vários artigos e vídeos, inclusive alguns vídeos que eu mesmo fiz.   Master Pages com VS 2008 https://www.devmedia.com.br/articles/viewcomp.asp?comp=6278   User Control https://www.devmedia.com.br/articles/viewcomp.asp?comp=5310     Lembro que dividir sua aplicação será um ótimo negócio, com suas camadas poderá utlizar tanto nos projetos Windows quanto Web.   Dúvidas entre em contato.    
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar