西安web前端培训机构

  • 发布时间:2017-02-24 13:57:21,加入时间:2015年10月20日(距今3509天)
  • 地址:中国»陕西»西安:陕西省西安市高新区唐兴路10号
  • 公司:蓝鸥科技有限公司西安分公司, 用户等级:普通会员 已认证
  • 联系:杨萍,手机:17791055930 电话:029-88867933 QQ:2962671591

蓝鸥西安前端开发培训机构HTML5培训老师经常向学生《Unix编程艺术》,而且知乎上各种编程大神说话时,经常会提到什么「自底向上」、「模块化」,该书都有很详细的解释。该书用来提升bigger效果十分显著。

看不完不要紧,能看多少是多少。

以下是该书对「模块化」的阐述:

l 软件设计有两种方式:一种是设计得极为简洁,明显没有缺陷;另一种是设计得极为复杂,没有明显的缺陷。第一种设计方式要难得多。——《皇帝的旧衣》

l 模块化原则就是:要编写复杂软件又不至于一塌糊涂的唯一方法,就是用定义清晰的接口把若干简单模块组合起来,这样一来,多数问题只在出现在局部,那么我们还有希望对局部进行改写或优化,不会牵一发而动全身。

l 模块化代码的首要特质就是封装。封装良好的模块不会过多向外部披露自身的细节,不会直接调用其他模块的实现代码,也不是胡乱共享全局数据。模块之间通过 API ——一组严密的、定义良好的程序调用和数据结构来通行。

l 正交性是有助于使复杂设计也能紧凑的zui重要的特性之一。在纯粹的正交设计中,任何操作均无副作用;每一个动作只改变一件事情,不会影响其它。无论你控制的是什么系统,改变每个属性的方法有且只有一个。

l 重复的代码会导致前后矛盾,产生质量差的代码。原因是当你修改这些代码的时候,往往只修改了一部分而不是全部。通常,这也意味着你对代码的组织没有想清楚。

l 软件是多层的。一般来说,设计函数或对象的层次结构可以选择两个方向——自顶向下和自底向上。

l 一个方向是自底向上,就是从具体到抽象——先从要解决的问题中,确定要进行的具体操作,然后向上进行抽象。另一个方向是自顶向下,就是从抽象到具体——从zui高层面描述整个项目的功能和逻辑,层层向下,直到各个具体的操作。

l 实际代码往往是自顶向下和自底向上的综合产物,同一个项目中经常同时兼有自顶向下的代码和自底向上的代码,这就导致了「胶合层」的出现。

l 胶合层是个挺讨厌的东西,必须尽可能的薄,这一点极为重要。胶合层用来将东西粘在一起,但不应该用来隐藏各层的裂缝和不平整。

l 面向对象理念的价值zui初在图形系统、图形用户界面和某些仿真程序中被认可。令大家惊讶并逐渐失望的是,我们很难发现面向对象在其他领域有多少显著的优点。

l 面向对象语言让抽象变得很容易——有点太容易了。面向对象语言鼓励「厚重的胶合和复杂的层次」。所有的面向对象语言都显示出某种使程序员陷入过度分层陷阱的倾向。

关注蓝鸥西安web前端开发培训公众号“蓝鸥西安”了解更多专业技术资讯。蓝鸥线上学习平台鸥课学院,是蓝鸥旗下的在线教育平台。鸥课学院专注整合优势教学资源、打造适合在线学习并能保证教学结果的优质教学产品,为用户提供满足自身成长和发展要求的有效服务。

联系我时请说明来自志趣网,谢谢!

免责申明:志趣网所展示的信息由用户自行提供,其真实性、合法性、准确性由信息发布人负责。使用本网站的所有用户须接受并遵守法律法规。志趣网不提供任何保证,并不承担任何法律责任。 志趣网建议您交易小心谨慎。