When developing BDI agent-based systems, some design patterns such as incompatible intentions, multiple strategies, intention decomposition, etc. would be very useful for specifying some desired agent behaviours. As BDI agent programmers, our desire would be to have a framework that natively supports such common patterns. The PRACTIONIST framework provides a goal-oriented approach for developing agent systems according to the BDI model. In this paper we first describe the goal model of PRACTIONIST agents and how they use such a model to reason about goals during their deliberation process and means-ends reasoning. Then, we show how some useful BDI agent patterns can be directly and actually implemented with our framework, which natively supports such designlevel solutions. In other words, in our framework we wanted to solve some common design problems, by providing some built-in solutions that programmers can easily adopt when developing their intentional agents.