记一次ORM的权衡和取舍
面对ORM的选型,有些人是根据自己熟悉程度来评判,有些人是根据他人的推荐来抉择,有些人觉得都差不多,随便了。当自己要真正做选择的时候,以上的这些依据都无法真正说服自己,因为不同的业务需求,不同的团队构成都会造成选型的差异,而且特别大,这里谈一谈自己的选型。 1.1需求背景介绍 我所在的公司是做互联网产品,对性能有着 极致的要求 ; 后台人数也不算多,尽量人尽其用,技术水平呈 梯度分布 ; 因为产品需要长期维护,所以对 代码质量 要求非常高,必须做 评审和单元测试 ; 对技术的 可维护 性,可扩展性要求很高,因为资源有限; 因为资源有限,所以在 生产力和性能 之间需要做一个 平衡 ; 1.2需求分析 难点 我们知道没有完美的技术,鱼和熊掌无法兼得,所以我们必须择优录取,这里的复杂度在于你要对所选择的技术优缺点有一个 360度的环评 ,最好能展示各自 优缺点对比 一览图,最后依据数据来证明你的选择对的,是对团队和业务负责的。 现状 不知道你有没有呆过这样的团队: 选什么技术从不讨论,大伙各自闷声干,等干出来你才知道原来对方是用的IBatis.NET。 你是后面入职的,你只能在前人的基础上做维护,尽管你觉得这个技术不是最优的,但是你也无法了解当初为什么做这样的选择。 在入职后,没有规范的技术培训和规范,你一边Google一边编码一边骂娘。