Já faz algum tempo que percebi que pouca gente aqui no Brasil conhece os princípios por trás do SOLID.
Então resolvi escrever um texto introdutório a respeito para tentar melhorar esta situação.
(no texto inclui links para outros textos clássicos sobre o assunto. Se alguém clicar num destes links, ler um dos artigos e se tornar melhor com isto, já me dou por satisfeito )
[quote]A culpa não era da equipe, mas minha. Projetei o sistema inicialmente de tal maneira que qualquer um poderia sobrescrever o método processe da classe Processador de Dados livremente. Como resultado, eu não tinha mais a uniformidade do conceito de processamento de dados neste sistema.
[/quote]
Depende. Se você foi pago pra resolver o problema do cliente a culpa não é sua. Agora se seu objetivo foi criar um design com “uniformidade do conceito de processamento de dados”…
Mas neste caso, de que maneira declarar uma classe final resolve o problema?
Se a pessoa tem acesso ao código ela pode remover a declaração da classe.