美文网首页
软件分层的思考

软件分层的思考

作者: tomcat_wu | 来源:发表于2019-07-12 00:34 被阅读0次

        程序设计的时候,经常是会做分层设计。有时候做分层,例如controller,service,dao,都成了一个习惯,也没有思考过为什么这么分层,更没有想过,除了这个分层之外,有什么其他分层实践。

       我们首先会想到一个问题,是什么导致了分层的出现?很直接的想法就是为了控制复杂度。分层其实就是一种分而治之的思想。那分层为什么就可以控制复杂度呢?人类的大脑在一个时间段内,能够关注的事件其实很少。换句话说,是人类的天生的生理属性导致了分层的出现。那为了控制大量复杂的代码,分层就是很自然的做法。

        第二问题,我们会想到,分层,应该如何分,有没有什么规律?分层的规律还是有的,其实就是一分为二的做法。最原始的分层,我觉得就是两层,一层是核心业务层,一层是支撑业务层。如果复杂度还是控制不下来,就继续按照一分为二拆分,拆分为核心的,次核心的。但是分层本身也会带来复杂度,所以分层也不应该太多,拆分太多层,反而会带来偶然复杂度,得不偿失。

         

        

相关文章

  • 软件分层的思考

    程序设计的时候,经常是会做分层设计。有时候做分层,例如controller,service,dao,都成了一个习惯...

  • 软件设计原则(一): 依赖倒置原则

    如何不依赖代码却可以复用它的功能 在软件设计中为了建立清晰的软件分层关系,引入了软件分层设计,也是便于高层业务模块...

  • 为什么网络需要分层

    OSI与TCP/IP分层模型 为什么网络需要分层? 大部分软件系统都是分层架构的,为了工程上实现/调试/维护方便。...

  • 浅尝辄止89-计算机网络基础2

    网络分层 网络分层,当然只是一种概念,当我们设计软件时,也是要考虑软件的层次,每个层次解决每个层次的问题,各层之间...

  • [转]软件架构入门

    一、分层架构 分层架构(layered architecture)是最常见的软件架构,也是事实上的标准架构。如果你...

  • 五大常用软件架构分析方案(图文+优缺对比)

    一、分层架构 分层架构(layered architecture)是最常见的软件架构,也是事实上的标准架构。如果你...

  • 五大常用软件架构分析方案(图文+优缺对比)

    一、分层架构 分层架构(layered architecture)是最常见的软件架构,也是事实上的标准架构。如果你...

  • 数据分层的思考

    数据分层的目的在于让数据有序的流转,在数据的整个生命周期中更清晰的被感知到。 关于数据分层,重点应该是在于功能、数...

  • 软件产品分层

    一、产品分层的必要性 解决产品共性与个性的矛盾:标准产品统一的要求与行业、客户个性化的要求的矛盾; 解决产品扩展问...

  • 从业务功能复用演化为业务模式的复用

    我想你一定听说过软件分层理论,由上而下,分而治之。 我是坚定的软件分层理论实践者。 不管是单体应用还是分布式应用,...

网友评论

      本文标题:软件分层的思考

      本文链接:https://www.haomeiwen.com/subject/clcskctx.html