Pergunta

Eu sou um novato e quando brincando com a criação de aplicativos de banco de dados Eu sempre acabou de criar minhas formas e colocar todo o código e ligações de lá. Em vez de ter matrizes e listas que as informações contidas I fez alterações para o banco de dados diretamente.

Agora que eu evoluíram digamos um pouco de deixar que eu vendi os widgets para os clientes e manteve as informações de vendas numa base de dados. Se eu estivesse escrevendo um programa para acessar o banco de dados não que eu iria querer criar uma classe do tipo 'Cliente' e 'Widget' para trabalhar com essas entidades?

Se não me engano, em seguida, o que é a abordagem adequada para programar aplicações de banco de dados?

Foi útil?

Solução

Sim.

Você quer olhar para a programação n-tier .

Basicamente, você permite que você extremidade dianteira (camada de apresentação) acesso apenas à sua biblioteca de classe (camada de negócios). Sua biblioteca de classes, em seguida, acessa-lo do banco de dados.

Isto dá-lhe uma solução menos fortemente acoplado, e permite o código mais sustentável. Também através da introdução de níveis você permitem alterações em seu DB sem a necessidade de reescrever o código em sua interface, enquanto a interface com a camada de negócios não precisa ser alterado.

Quanto está em causa a ligação, se você estiver usando formulários o Visual Studio Windows (2005 em diante), você deve ser capaz de nos um BindingSource que você pode usar para ligar os seus controles. Se você estiver usando ASP.NET, em seguida, seu controle deve ligar-se a uma lista de objetos sem problemas.

Para ASP.Net ObjectDataSource pode valer a pena olhar em . Eu não usei isso mesmo, mas há muitas amostras na web. Tente aqui ou aqui .

Outras dicas

Sim.

Você quer olhar de perto objeto Relational Mapping .

As suas entidades empresariais do mundo real são modelados por objetos que mapeiam para tabelas relacionais.

Você não quer sua camada de apresentação para dependem diretamente da sua estrutura de banco de dados; o problema com isto é, se a sua estrutura de banco de dados mudanças em tudo, a sua camada de apresentação deve mudar, e, a longo prazo, que tende a causar problemas. Além disso, há questões de segurança envolvidas com ter sua camada de apresentação diretamente interagir com o seu banco de dados.

A analogia grosseira aqui é a mercados; quando você vai para a loja para comprar um pão, você não precisa saber como fazer crescer o trigo; tudo o que você precisa saber é que você tem dinheiro, e eles têm pão, e que eles vão trocar uma certa quantidade de pão para uma certa quantidade de dinheiro. Você não precisa saber o que época do ano para plantar o trigo, ou como remover o joio, ou nada disso, porque a camada de suporte cuida disso para você. Da mesma forma, o agricultor não precisa saber como vender pão para um grupo inteiro de pessoas, ou mesmo como fazer pão; tudo o que tem a fazer é saber como plantar trigo.

filosofia de design moderno recomenda que você use uma camada intermediária de interagir entre a camada de apresentação e sua camada de banco de dados; este é onde você coloca sua lógica de negócio. Assim, por exemplo, digamos que você está vendendo widgets em seu site. Em vez de ter sua consulta código de apresentação da base de dados para widgets e exibição que, você tem um objeto de negócios que lida com os seus widgets. Desta forma, o objeto de negócios precisa saber o que sua estrutura de banco de dados é, mas a sua camada de apresentação só precisa saber como pedir o seu objeto de negócios para uma lista de widgets para mostrar. Mais importante ainda, em seu objeto de negócios que você pode colocar as regras que estão a ser invocado quando certas coisas acontecem. Então, ao invés de sua camada de apresentação fazendo directamente alterações ao banco de dados para inventário e ordens quando um pedido é feito, o seu objeto de negócios sabe como fazer as alterações e quais tabelas para modificar quando as solicitações de sua camada de apresentação que ocorre uma venda.

Desta forma, você separar a exibição da informação da persistência e da lógica subjacente ao site. O que está envolvido é um bom planejamento; especificamente, você tem que descobrir o que o seu site vai fazer em qualquer ponto, e o que isso significa em termos do que faz a interface seus objetos de negócios irá fornecer. Então você implementar seus objetos de negócios baseados fora desses requisitos; esses objetos de negócios são o lugar onde você colocar o conhecimento da estrutura de banco de dados e sua lógica de negócio específico ( "quando A acontecer, faça B e C", etc.).

Este parece ser um monte de trabalho extra no início, mas é realmente vale a pena.

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