※ 引述《tomtomtom456 (画画狐)》之铭言:
: 像是一般常见的 Web 查询程式
: 丢个SQL到后端DB把资料捞出来, 显示在萤幕上
: 几十行就可以写完
: 如果要物件导向的话
: 也许要有个物件对应 Db Table
: 再来个物件处理SQL
数据库用的是 Relational Data Model, 跟 OO Model 不一样,
所以要以 OO Model 去操作数据库, 有时候会变得很不自然,
学术领域有蛮多人在试着改进 Raltaional-to-OO Mapping 的方法,
不过似乎都还是没有很好用, 毕竟两个 Model 蛮不一样的,
圆形的管子就是很难插到方形的洞里还要气密.
想要 quick-and-dirty 就直接用 select 去操作资料吧,
尤其如果 project 是一人乐队在负责的 ;)
不过当一个 project 有多个能力程度都不大一样的 enginners 同时在做时候,
让每个人都直接用 select 去操作数据库就很难令人放心了,
像该何时 lock table/row, 或是怎样下 query 才不会让数据库 load 太重
之类的问题不是每个 programmer 都很精通的, 遇到 DB dead lock 都不知道
是谁造成的.
这时候让一个最了解数据库的 engineer 负责搞定这些问题,
然后把所有东西包成程式接口, 其他人只要去呼叫 member function 就好,
严禁直接操作数据库, 这样整个 project 的品质比较容易管理.
反观在一人乐队的状况下这样做, 程式比起来比较复杂, 从几行变成好几个 class,
有没有比较方便跟个人的熟悉程度有很大的关系, 这就不一定了.