从hibernate到backbone

    从hibernate到backbone,这是一条人类向流水账抗争的道路

    hibernate并不是简单意义上封装了SQL语句,backbone也不是简单意义上的组件化开发,而这一切的核心,是模型驱动

    何为模型驱动,即我对模型的修改,会自动触发监听了此模型的事件。好比开启了wifi热点,范围内的一个设备能够连上,两个设备也能连上。

    hibernate的save方法将新对象保存到session中,以此触发了SQL insert;delete方法将对象从session中移除,以此触发了SQL delete。而如何insert,update,delete,哪些字段需要忽略,等等规则,都需要在初始化时定义好。

    backbone给一个模型对象的属性赋值,以此触发了"change:xx属性"事件,事件可以实现页面某个展示元素的改变;给一个模型对象调destroy方法向后台发起DELETE类型的http请求,以此触发了"destroy"事件,事件可以实现为界面列表中删除一行(div, li ...)。同样,这些事件规则,都需要在初始化时定义好。

    hibernate所谓不需要写sql,只是表象。如同backbone一样,想让你通过修改模型数据,就能达到你想要做的事情——同步数据库,页面展现。当然,规则还需要你定义。所以,代码量没有减少多少,真的。

    流水账的行文,使用最为广泛,因为其写时简单无需思考,读时顺次无需跳转。

    当然,我指的不是那种屎一样的流水账。

    从流水账到结构化的软件设计,是软件发展的趋势和目标。越是好的软件架构,越是切割、分离的厉害,称之为『解耦』,于是写时重构的次数更多,读时跳转的次数更多。但依然不能阻止其更为优秀。

    因为好的设计,不是给不了解的人第一次阅读就能一通到底;而是让熟悉的人,提供更灵活的扩展和修改。

    但是,很不幸,hibernate面对的是关系型数据库,铁板一块,扑街

   

你可能感兴趣的:(Hibernate,backbone)