nov 232007
Blz!
Na especialização estou começando a disciplina de padrões, e como ficou acertado que para prova o livro base é nada mais nada menos que o do GoF(Padrões de Projeto)[1], então resolvi estudar de uma forma diferente.
Irei implementar os padrões tendo como base o primeiro exemplo apresentado (o labirinto), para isso tive que fazer algumas adaptações nas classes básicas e incluir alguns recursos do framework GBF[2], sendo assim além de apresentar para vocês a implementação dos padrões de quebra ainda vai a utilização do framework GBF[2].
Irei implementar os padrões tendo como base o primeiro exemplo apresentado (o labirinto), para isso tive que fazer algumas adaptações nas classes básicas e incluir alguns recursos do framework GBF[2], sendo assim além de apresentar para vocês a implementação dos padrões de quebra ainda vai a utilização do framework GBF[2].
Antes de começar a publicar os padrões, resolvi montar um exemplo base, para termos idéia de como era a implementação inicial e como ela irá evoluir com o uso dos padrões.
Sendo assim pretendo na medida do possível publicar padrão por padrão.
Lembre-se para poder melhor aproveitar o exemplo você necessita:
- IDE:
- CodeBlocks[3] (Linux e MS-Windows)
- Compilador
- Linux: GCC
- MS-Windows: MinGW[4]
- Modelagem UML
- BoUML[5]
- Bibliotecas:
- SDL (SDL_Image, SDL_Mixer)[6];
- GBF;
- Programar em C++
- Exemplo:
Podemos observar abaixo o diagrama de classes do exemplo

- Classes Cinzas: São do Framework GBF[2];
- Classes Verdes: É o núcleo principal do exemplo, são as classes que dão suporte para implementação de salas, paredes e portas;
- Classe Vermelha: É a enumeração usada para definir os lados da sala;
- Classe Laranja: É a responsável por armazenar o labirinto;
- Classe Amarela: É a classe que monta o labirinto;
A seguir podemos ver as classe da visão de dependência, ou seja, como é o relacionamento de fato com relação aos includes (headers) e a classe que vai executar nosso exemplo:
Essas classes seguem o mesmo código da legenda anterior, a única modificação é a inclusão da Classe Rosa, que contém o método “int main” para executar nosso exemplo.Pois é, podemos criar uma classe que irá gerar o método main
Abaixo podemos ver o resultado da execução do nosso exemplo:
T+!
Vida Longa e Próspera!
———————————————-
Referência
[1]http://pt.wikipedia.org/wiki/Padr%C3%B5es_de_projeto_de_software
[2]http://pjmoo.wiki.sourceforge.net/GBF
[3]http://www.codeblocks.org
[4]http://www.mingw.org/
[5]http://bouml.free.fr
[6]http://www.libsdl.org
[7]http://downloads.sourceforge.net/pjmoo/GoF.zip






