No ma…prendiamoli uno per uno:
“Everything must go through these Ruby/Python/PHP/JavaScript classes —
including shell scripts and other things not part of this website.”
Perchè dovrebbe essere una cosa negativa? Non si sa…
“Nothing else may access the database directly, since doing so may break
the rules defined by these surrounding classes.”
Nient’altro deve accedere al DB. esatto. il DB devi far conto che non
esista. Se un altra app deve “dialogare” con la prima userà delle API.
“The database is treated as dumb storage, even though the database is
smart
enough to have most of this logic built-in.”
Il fatto che possa farlo non significa che bisogna usarlo in quella
maniera. Il DB è un posto dove buttare dati e basta…e questa cosa è
magnifica per il principio di “separation of concerns”.
“But if you add business rules into the database itself, it’s now
duplicated, requiring changing in multiple places if the rules change.”
Infatti non lo devi fare!!
“These two systems — the database and its surrounding code — are coupled
and dependent on eachother.”
Cosa??!? Questa affermazione non ha assolutamente alcun senso logico.
“If it’s ever advantageous to switch languages (say from Ruby to
JavaScript, or Python to Elixir), you’re going to have to re-write
absolutely everything.”
e qui mi sono già espresso
Per non parlare della difficoltà nella mantenibilità del sistema,
versioning, debugging, logging, testing, ecc, ecc, ecc…
Alessandro R.
2015-05-07 12:34 GMT+02:00 Riccardo T. [email protected]: