Isso tá com cara de trabalho de faculdade, não cheguei a ler todos posts do criador do tópico. Mas o problema maior ai é a falta de entendimento correto do que são e para que servem os Design Patterns, inclusive essa falta de conhecimento atinge profundamente essa cambada de professores de faculdade que nunca programaram de verdade na vida.
Os Design Patterns foram criados para resolver problemas conhecidos em desenvolvimento de software. Como vc já deve ter lido em algum lugar quanto a definição dos DP, são soluções reutilizáveis, para problemas específicos, etc, etc e etc…
Por serem soluções “plugáveis” em quase todos os sistemas, é meio que óbvio que resolve um problema X, mas não todo o seu sistema. DP não são códigos de inteligência artificial.
A base do seu software, e o sucesso dele, surgirão de uma boa modelagem de dados e lógica de programação, assim como conhecimento dos recursos da linguagem que estará utilizando.
Se você pegar as 500 matérias de design patterns que saem nas revistas java magazine, mundo java, .net magazine, etc…você verá 9 de cada 10 autores do artigo, mencionando algo mais ou menos assim em algum lugar da matéria:
“Atenção: Design Patterns são soluções criadas para resolver problemas. Se você ainda não tem um problema e quer usar design patterns, ai você terá um problema”.
E eu concordo plenamente pois já vi isso na prática.
Se o seu professor obrigou a usar DP na criação de um sistema, olha, tirando uma situação x ou y que ele queira abordar na didática, eu diria que ele é um desses que citei ali em cima.