Pergunta

Eu estou querendo saber se existem estruturas arquitectónicas lá fora, para criar aplicativos de desktop ou autônomos, em Java ou C #, por exemplo. Parece que há toneladas de los disponíveis para aplicativos da web, mas não consigo encontrar muitos bons recursos sobre os quadros ou melhores práticas de arquitectura para o desenvolvimento desktop.

Idealmente, eu gostaria de saber se existe algum código fonte disponível de aplicações desktop que seriam considerados para ter uma boa arquitetura ou são construídas com uma certa estrutura.

Foi útil?

Solução

Enquanto não diretamente relacionado com aplicativos de desktop, se você está procurando código fonte decente para projectos bem escritos eu fiz uma pergunta semelhante:

Open source C # projetos que têm extremamente alta qualidade de código para aprender.

Pessoas deu algumas sugestões muito bom lá:

Outras dicas

Na categoria aplicativo leve, JSR 296 para Java (a ser no futuro Java 7 possivelmente) é uma estrutura de manipulação o básico, como gestão e ações de recursos. Lotes de links aqui:

Aumentar um pouco, você pode olhar para vários quadros de RCP como:

UPDATE:. Foi mencionado (por Mark Reinhold a Devoxx '08) que JSR 296 será incluído no Java 7

Além disso actualização: JSR 296 está morto. JavaFX é a direção atual para do lado do cliente Java.

Há um novo .NET pacote de orientação arquitectónica da Microsoft padrões e práticas para WPF que é o nome de código "Prism" - é basicamente uma "próxima geração" Composite UI Application Block (sem o ferramental SCSF). Ele usa injeção de dependência, padrão Composite todo, etc.

Há uma boa bastante DNRTV screencast demoing-lo.

Verifique Smart Client Software Fábrica da Microsoft. Ele contém exemplos de código e documentação.

Resumo

Esta fábrica de software fornece comprovada soluções para os desafios comuns encontrados enquanto a construção e composto operando Aplicações Smart Client. Isso ajuda arquitetos e desenvolvedores de construção sistemas modulares que podem ser construídos e implantados por equipes independentes. Os aplicativos criados com o software práticas de uso da fábrica comprovadas para operações, tais como centralizado exceção de registro.

A fábrica de software contém uma coleção de componentes reutilizáveis ??e bibliotecas, Visual Studio solução 2,008 modelos, assistentes e extensões, testes Tópicos de instruções, automatizados, extensa documentação arquitetura, padrões, e uma referência implementação. A fábrica de software usa Windows Forms, do Windows Presentation Foundation, o Windows Communication Foundation, eo Enterprise Library 3.1 - Maio 2007 liberação. Com este lançamento, a Composite UI Application Block é incluídos na fábrica de software.

Em Java, Nu Objetos - http://nakedobjects.org/home/index.shtml

JMatter - implementação de objetos nuas - http://jmatter.org/ . boa bonita.

ambos são open source.

No lado do Java, existem vários projectos destinados a plataformas de Rich Client (RCP é o novo chavão para aplicativos 'desktop'):

  • Eclipse RCP (se você estiver OK usando SWT em vez de Swing)
  • Spring RCP (que está no processo de ser reformulado em Primavera desktop)
  • O NetBeans RCP (que eu não sou particularmente impressionado com, mas que está recebendo alguma tração)
  • JSR 296 (Application Framework) - I na verdade, realmente como este

O Google qualquer um dos acima e você vai receber toneladas de informações.

Você pode usar algumas das mesmas abordagens no desenvolvimento de cliente que você usa em desenvolvimento web, como o Model View Presenter. O namespace System.Windows.Forms tem tudo que você precisa para construir um aplicativo cliente em C #, com o resto do .NET Framework disponível para fornecer os serviços que você precisa (como IO e comunicação remota).

Quanto código fonte para arquiteturas sólidas em aplicativos de desktop, olhar para o código para Paint.NET e SharpDevelop . Ambos têm abordagens muito diferentes que vai ser interessante para você.

Infelizmente para o .NET inclinação desta resposta. É o que eu sei melhor. :)

Eu recomendaria quadro CSLA .NET Rockford Lhotka: http: //www.lhotka. net / cslanet / Default.aspx

Ele vem será o código-fonte completo, bem como aplicativos cliente de exemplo construído em ASP.NET, WinForms e WPF.

Eu encontrei o Composite Application Guidance for WPF e Silverlight que parece muito interessante. Foi publicado em Fevereiro de 2009.

Nós desenvolvemos em tecnologias .NET aqui.

Os nossos amigos aqui trabalhando em aplicativos cliente desenvolver seu software para o padrão de design Model View Presenter que é freqüentemente associada com desenvolvimento web. Para eles, eles acham que funciona muito bem, acredito que pode valer a pena conferir.

A Fábrica Smart Client (mencionado por Panos) também pode ser útil para você, embora não seja um quadro, mas mais de uma biblioteca de soluções de melhores práticas para problemas comuns.

Especificamente a estrutura de apresentação organizada de funções ui que temos usado href="http://www.infonode.net/index.html?idw" janelas de atracação infonode , que é um quadro de janelas usando um eclipse como a aparência (visualizações de arrasto em qualquer lugar, perto deles, desencaixar-los etc., skinnable é claro). há uma versão GPL para produtos de código aberto para fora, apesar afaik a licença de desenvolvedor que não é caro ($ 299 cada).

Verifique do IdeaBlade Cabana Para DotNet C #. http://www.ideablade.com/CAB.html

Cabana Sample App

A aplicação Cabana é um aplicativo inteligente simples referência cliente com uma batata frita, experiência de usuário rica em recursos que é fácil de implantar e operar através da web. Cabana demonstra:

Uma abordagem fácil à Composite UI Application Block de Padrões da Microsoft e Práticas Grupo. código de fácil manutenção, reutilizável através da composição UI. Separação de Modelo (lógica de negócios e acesso a dados) da Apresentação. O padrão Model-View-Presenter. ajuste de desempenho. E mais.

I recentemente publicado DesktopBootstrap. É a minha tentativa de fator de muitos dos elementos comuns de criação de médias e grandes aplicativos de desktop escala.

Você pode encontrá-lo aqui .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top