Quaisquer metodologias alternativas de programação de fluxo principal para OOP usando C #?

8

No que diz respeito às linguagens de programação, eu amo o C # e, nesse caso, todo o bem que vem da estrutura .net (LINQ, etc).

Minha principal preocupação é que pareço produzir muito código e, usando OOP, tenho uma preocupação de que meu código nem sempre é tão fácil de gerenciar.

Desejo continuar usando C # e .Net, mas existem outras abordagens para aplicar o idioma para obter menos código geral e mais fácil de gerenciar em comparação com o livro de texto OOP?

Desde já, obrigado!

JL01
fonte

Respostas:

11

Sim - Encontrei o mesmo problema. OOP não é a melhor maneira de resolver todos os problemas. No entanto, o C # suporta muito bem o paradigma funcional e eu o usei com sucesso em alguns projetos agora.

Há uma conversa interessante aqui com relação à simplificação, que deve dar a você alguma opinião, pelo menos: http://skillsmatter.com/podcast/design-architecture/simple-is-better

Excluído
fonte
1

Se você estiver disposto a experimentar, tente AOP / C # como aqui e aqui . o PDF possui uma boa folha de prós e contras.

mtijn
fonte
1

A Programação Orientada a Aspectos pode permitir que você obtenha alguma eficiência ao lidar com suas "preocupações transversais" de maneira uniforme. Existem outros benefícios possíveis, mas, na minha opinião, seria útil para você!

http://en.wikipedia.org/wiki/Aspect-oriented_programming http://www.sharpcrafters.com/aop.net

Justin Vieira
fonte
0

Antes de desviar-se demais para diferentes metodologias, aproveite a refatoração para simplificar e consolidar seu código. Aqui está o catálogo de Fowler, a " Lista alfa de refatorações ", cada uma das quais pode ajudá-lo a melhorar e gerenciar seu código C #.

Aprendendo a projetar efetivamente para reutilização e otimizando seu aplicativo de interfaces, classes abstratas, hierarquias de classes, injeção de dependência e ferramentas similares existentes na metodologia padrão orientada a objetos, você poderá encontrar-se no caminho para alcançar os resultados desejados .

Além disso, o @Chris Smith já apontou para o fato de que as versões mais recentes do C # (3.5 e 4.0) adicionaram vários recursos de programação funcional que podem ajudá-lo a melhorar seu código!

Se você gosta de programação funcional, experimente a nova linguagem F # da Microsoft ! Na verdade, é mais como "funcional do objeto", uma mistura das duas metodologias. Você também pode querer saber que pode misturar F # e C # na mesma solução .NET .

Também concordo com os outros comentaristas que a AOP certamente tem seus usos!

John Tobler
fonte
0

OOPS pode ter causado mais código, mas se seu aplicativo for grande, a complexidade reduzida que o OOPS traz resultaria em código e clareza gerenciáveis ​​e gerenciáveis. Se não é esse o caso, e você o sente como um fardo, tenho certeza de que você pode ter usado indevidamente. verifique se suas classes estão representando os objetos de domínio corretamente e se a comunicação entre elas está próxima de como acontece no sistema do mundo real que você tenta simular no programa.

Em C #, muito código não é uma razão realista para se afastar do OOPS IMHO. Uma mudança de paradigma deve ter uma razão muito mais válida, na realidade.

pode-se fazer 'programação estruturada' em C # .. mas acho que será um desperdício de tempo e esforço. E a maioria das alternativas convencionais também usa o OOPS.

WinW
fonte