rules • Requires time • Contains state & behavior • Has clear boundaries • Easier to refactor • Follows OOP • Business rules are scattered • Can be implemented quickly • Contains only state • Boundaries are not clear • Not so easy to refactor • Feels more like procedural programming