Blz, galera
eu tô reconstruindo um sistema utilizando MVC. Nesse sistema, os usuários possuem perfis e, dependendo desse, podem ou não executar certas ações. Entretanto, em alguns casos, uma mesma ação pode ser executada por usuários de diferentes perfis, mas o comportamento da ação é diferente. Para isso, estou usando o Strategy pattern. Apesar de estar estudando padrões agora pra tentar fazer um sistema bem feito, há uma parte do sistema que não consigo resolver.
Eis meu problema:
Eu gostaria de permitir ao usuário construir perfis em alto-nível, com todas as permissões, negações e até troca de comportamentos, sem que ele, obviamente, tenha que digitar uma linha de código; e que esse código fosse gerado pelo sistema e o novo perfil fosse criado como desejado pelo usuário. Porém, eu acredito que eu consiga fazer isso, mas no meu sistema, essa parte de permissão/negação é feita através de if’s, e desse jeito não há como adicionar um if dentro um código em alto-nível.
Há algum padrão que possa me ajudar nisso?