Every day a new tool or framework appears on the market. Using a technology means to have a marriage
with it, very often forever. What happens if you want to change the
DBMS you're using or the engine that persist your objects? Or again
your web framework?
Divorces, you know, are
costly. Many technologies don't follow standards so the migration cost
is huge. Often it's cheaper to rewrite it from scratch.
is the only “meta” framework. Using Roma you're definitely free from
the technology you're using. How it works? Roma provides very generic
behaviour interfaces called “Aspects”. Aspects enclose
the most common use cases. Using the tool and framework through the
Aspect allow to leave your code clean from the technology.
if I need to dirt my hands using the technology directly, can I do it
with Roma? Sure. You can always reach the implementation under the
hood. Just remember you had to migrate that pieces of code in case
tomorrow you'll change the technology. In the documentation you can
find some best practice to make migration the easiest possible.
Abstracting the technologies let you to have the development team aware of their. This can be translated as minor skill requested, therefore less cost.