Buscar

desafio 4

Prévia do material em texto

4.3 - Projeto Orientado a Objetos
MODELO REPOSITÓRIO
Um modelo onde os subsistemas que constituem um sistema trocam informações para trabalhar juntos de modo eficiente, sendo feito da seguinte forma:
 
1.	Todos os dados trafegados são mantidos em um banco de dados que pode ser acessado por todos os subsistemas.
2.	Cada subsistema mantém seu próprio banco de dados, onde os dados são trocados com outros subsistemas por meio da passagem de mensagens entre eles.
	A grande maioria dos sistemas que usam inúmeras quantidades de dados é organizada com base em um BD ou repositório compartilhado. Este modelo é adequado para aplicações onde os dados são gerados por um subsistema e usado por outros.
As vantagens e desvantagens deste modelo são:
	 Eficiente em compartilhar grande quantidade de dados.
	Os sistemas devem estar de acordo com o modelo esse compromisso e desta forma pode ser difícil ou impossível integrar novos sistemas se os modelos de dados não se adequarem ao modelo estabelecido.
	Os sistemas que armazenam dados não precisam saber como esses dados são usados por outro subsistema.
	A evolução pode ser difícil quando um grande volume de informações é gerado de acordo com o modelo estabelecido.
	As atividades tais como backup e proteção, controle de acesso e recuperação de erros são centralizadas, sendo de responsabilidade do gerenciador de repositório.
	O modelo impõe a mesma política a todos os subsistemas integrados neste modelo.
	O modelo de compartilhamento é visível por meio do esquema repositório, onde novas ferramentas podem ser integradas, considerando que sejam compatíveis com o modelo de dados estabelecido.
		Poderá haver dificuldade para distribuir o repositório entre as máquinas.
A linguagem Java apresenta uma série de conhecidos frameworks, que auxiliam no desenvolvimento de sistemas. Dentre os mais conhecidos, estão o Struts, Hibernate, JUnit, entre outros. 
Há inúmeras definições a respeito de framework. Podemos considerar um framework como uma solução para um conjunto de problemas em comum, com uso de classes e interfaces, que disponibilizam objetos com capacidade de capturar funcionalidades comuns a várias aplicações. Assim sendo, um framework pode ser considerado sob certo ponto de vista como uma solução quase completa.
 Hibernate (Persistência de Dados) - conhecido framework de persistência de dados, que usa conceitos de banco de dados, além do mapeamento objeto-relacional.
 Os padrões de criação são aqueles que abstraem e ou adiam o processo criação dos objetos. Eles ajudam a tornar um sistema independente de como seus objetos são criados, compostos e representados. Um padrão de criação de classe usa a herança para variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto.
Os padrões de criação tornam-se importantes à medida que os sistemas evoluem no sentido de dependerem mais da composição de objetos do que a herança de classes. O desenvolvimento baseado na composição de objetos possibilita que os objetos sejam compostos sem a necessidade de expor o seu interior como acontece na herança de classe, o que possibilita a definição do comportamento dinamicamente e a ênfase desloca-se da codificação de maneira rígida de um conjunto fixo de comportamentos, para a definição de um conjunto menor de comportamentos que podem ser compostos em qualquer número para definir comportamentos mais complexos.
Há dois temas recorrentes nesses padrões. Primeiro todos encapsulam conhecimento sobre quais classes concretas são usadas pelo sistema. Segundo ocultam o modo como essas classes são criadas e montadas. Tudo que o sistema sabe no geral sobre os objetos é que suas classes são definidas por classes abstratas. 
Consequentemente, os padrões de criação dão muita flexibilidade no que é criado, quem cria, como e quando é criado. Eles permitem configurar um sistema com objetos "produto" que variam amplamente em estrutura e funcionalidade. A configuração pode ser estática (isto é, especificada em tempo de compilação) ou dinâmica (em tempo de execução). Ferramentas usadas durante o processo do sistema ferramenta Astah e Netbeans para diagramas com Uml e desenvolvimento.

Continue navegando