1、分离开发人员的关注 。由于某一层仅仅调用其相邻下一层所提供的服务,所以,只要本层的API和相邻下一层的API定义完整,开发人员在开发某一层时就可以像关注集中于这一层所用的思想、模式、技术,这样 , 就等同于将分工带来的生产力提高优势引入软件开发 。又如买蛋糕的例子,作为超市,只要知道下层API(如何从蛋糕厂获取蛋糕)和本层需要实现的API(把蛋糕销售给客户),就可以制定自己的业务模式很策略计划了,而不必关心如何种小麦、如何磨面粉、如何做奶油、如何做蛋糕等 。这样 , 超市只需进行商业运作,而不必进行产业运作,如此专一,必然提高业务水平 。
2、无损替换 。想象一下,如果某家奶牛场倒闭了 , 奶油加工厂也要跟着倒闭吗?当然不会 , 它可以迅速更换一家奶牛场 , 因为各个奶牛场都可以实现“提供牛奶”这项服务 。再譬如,如果某天国家出台政策,要求所有奶油厂必须从审查合格的奶牛场引进原料 , 恰好某奶油厂的合作牛奶供应商没能通过审查,那么,只要换一家通过审查的合作就行了 。而且奶油厂内部的各个环节一动不用动 , 因为不同的奶牛场都可以提供“供应牛奶”这个服务 。而如果奶油厂自己养牛生产牛奶,一旦遇到这个政策,还得自己去有关部门进行审查 , 调整相应业务流程,牵一发而动全身 。程序中同样的道理,最常听说的可能就是迁移数据库了 。
3、降低了系统间的依赖 。还是蛋糕那个例子,如果某天蛋糕厂内部换机器了,或业务流程调整了,请问顾客需要关心吗?显然不用,因为顾客只调用超市提供的服务 。而超市为顾客隐藏了下面所有产业细节 。如果每一个顾客买一样商品,都要了解这个商品从原料生产到成型再到销售的一系列细节 , 岂不累死了 。换做程序中,就如表示层只管调用业务层的服务,至于业务层下还有几层?各种数据是怎么来的?怎么存的?是真实的还是捏造的?都不需要了解,这大大降低了系统各职责之间的依赖 。
【分层营销策略的特点 分层营销策略的特点是什么】4、复用 。例如,你可以去这个超市买东西,我也可以去这个超市买东西 。蛋糕厂可以从面粉厂提取面粉,馒头厂也可以 。这样,同样的层就可以为不同的上层提供服务