`
kuwoleft
  • 浏览: 1068388 次
文章分类
社区版块
存档分类
最新评论

4.3 软件是多层的——UNIX编程艺术学习笔记

 
阅读更多

1.1.1 自顶向下和自底向上

自顶向下的设计者可能会首先考虑主事件循环,然后在考虑插入具体的事件;自底向上设计者通常会考虑封装具体的事务,以后再按照某种相关次序把这些东西粘合在一起。

单纯的使用自底向上和自顶向下都无法达到好的效果。

一方面设计程序逻辑(自顶向下),一方面整理底层的域原语(专业术语),然后在中间结合。这样就导致了胶合层的出现。

1.1.2 胶合层

胶合层的出现是因为自顶向下和自底向上在结合处会有裂痕。

薄胶合层原则可以看做是分离原则的升华,策略(应用逻辑)应该与机制(域原语集)清晰的分离。

1.1.3 薄胶合层实例:c语言

“完美之道,不在于无可增加,而在于无可删减。”——这一点和中国道家的思想很想。

c语言处理紧凑,正交,分离之外,还具有透明性的优点。

c语言的设计展示了一个清晰,简洁的最简化设计能够多么强大。


分享到:
评论

相关推荐

    本文对几种经典的软件体系结构风格进行了具体的阐述,分析了各种风格的特点、优缺点,最后重点介绍了三层C/S软件体系结构。

     最初的软件体系结构是Mainframe结构——客户、数据和程序都被集中在主机上,通常只有少量的GUI界面,对远程数据库的访问比较困难。随着PC的广泛应用,该结构逐渐被淘汰。在20世纪80年代中期出现了Client/Server...

    程序员编程艺术:面试和算法心得.pdf

    • 第六章 海量数据处理 o 6.0 本章导读 o 6.1 关联式容器 o 6.2 分而治之 o 6.3 simhash 算法 o 6.4 外排序 o 6.5 MapReduce o 6.6 多层划分 o 6.7 Bitmap o 6.8 Bloom filter o 6.9 Trie 树 o 6.10 数据库 o 6.11 ...

    Delphi编程

    Delphi的最新版本Delphi 6扩大了原有的VCL功能、改进了编辑器和编译器、新增了许多网络应用程序开发组件和开发工具,北引进了跨平台开发...除此以外,还加入了Internet编程、中间件的编写及多层应用程序的开发等内容。

    软件工程 曾强聪

    全书共10章正文,以软件生命周期为主线,主要内容包括:软件工程概论、软件工程过程模型、项目分析与规划、软件需求分析、软件概要设计、面向对象分析与设计、用户界面设计、程序算法设计与编码、软件测试、软件维护...

    Tebo-ICT view TVW点位图查看软件

    按客户 的选点要求订制不同的选点规则及条件,特别是对多层板的选点过程中, 客户可以充分体会到该系统的速度及正确率;它解决了其他软件在选点时 无法与客户互动勾通的难题;具有强大的编辑功能使客户可以根据生产...

    《python编程金典》高清扫描版PDF

    小编推荐的这本python编程金典由全球著名的程序语言培训专家精心编著,解释了如何将Python用作常规用途,编写多层、客户机/服务器结构、数据库密集型、基于Internet和Web的应用程序。书中采用作者独创的“活代码”...

    软件工程完整ppt

     第1章软件危机、 软件工程  11软件工程的发展史  111程序设计时代  112程序系统时代  113软件工程时代  12软件危机主要表现形式  13产生软件危机的原因及解决途径  131产生软件危机的原因  132解决软件...

    《Delphi 深度编程及其项目应用开发》PDF书及代码

    《Delphi 深度编程及其项目应用开发》 作 者: 李存斌 汪兵 编著 丛书名: 万水软件项目应用与实例开发丛书 出版社: 中国水利水电出版社 出 版: 2002-9----------简 介 本书是在总结作者多年Delphi开发经验的基础上...

    软件工程知识点

    (1)危机现象:软件开发成本与进度估计不准确,软件产品与用户要求不一致,软件产品质量可靠性差,软件文档不完整不一致,软件产品可维护性差,软件生产率低。 (2)危机原因:软件的不可见性,系统规模庞大,生产...

    【清华】 软件工程(完) 视频.txt

    《软件工程(原书第9版)》是系统介绍软件工程理论的经典教材,自1982年初版以来,随着软件工程学科的不断发展,不断更新版本,影响了一代又一代软件工程人才,对学科本身也产生了重大影响。本版保留了上一版中的软件...

    中国电子学会青少年软件编程等级考试标准python一级精品.doc

    中国电子学会青少年软件编程等级考试标准python一级精品 一、选择题 1.以下对 Python 程序缩进格式描述错误的选项是( ) A.不需要缩进的代码顶行写,前面不能留空白 B.缩进可以用 tab 键实现,也可以用多个空格...

    海信KB66编程键盘驱动及编辑软件

    支持海信原装KB66编程键盘驱动及编程软件,安装驱动后直接运行Matrix Maker软件进行键盘编程,多层编辑,随心所欲!

    [软件工程].曾强聪.文字版

    全书共10章正文,以软件生命周期为主线,主要内容包括:软件工程概论、软件工程过程模型、项目分析与规划、软件需求分析、软件概要设计、面向对象分析与设计、用户界面设计、程序算法设计与编码、软件测试、软件维护...

    KB66键盘编程工具

    1.8. 提供“多层键”功能,可对键盘通过层的定义来配合POS管理软件进行权限分级管理、或扩展按键的数量与功能。每个键可多至定义15个切换层和一个默认层。 1.9. 提供延时功能,最多能延时255秒。 2. 键盘安装 2.1. ...

    110_《Delphi4编程技术内幕》

    通过本书的学习,读者不仅可以快速了解Delphi 4编程的要旨,还可以掌握许多新技术,如创建COM自动化服务器和客户程序、使用MIDAS进行多层数据库计算、使用DCOM跨网络分布数据库等。 本书最大的特点是代码丰富,不仅...

    计算机网络课程设计 利用cisco模拟软件组建多层交换网络

    利用cisco模拟软件组建多层交换网络 第一步,先建立网络中心和主干网,然后建立学校的信息管理网络、教学网络、图书管理网络和电子阅览室各应用子系统,并进行教学楼、办公楼、图书馆的结构化布线,将网络扩展到...

    dxp软件进行多层pcb板制作

    dxp软件进行多层pcb板制作的一些基本知识,对刚开始进行多层板设计的人员有一定指导作用

    MachineLearning学习——0220——深度学习之卷积神经网络、自编码器

    由于之前有了解CNN,该文章将跳过大部分细节,仅供本人记录学习过程用 卷积神经网络Convolutional Neural Network 介绍:与多层感知机的结构很相似:输入层,一些隐藏层,输出层,这些层多由卷积层、池化层、全...

    创想家居设计软件(拖拖我的家) v2014.zip

    创想装修设计软件普及版(又称拖拖我的家),是国内第一个可视化装修DIY互动平台的家装DIY软件,是创想家装设计软件、家装销售软件、家装预算软件、家具三维导购软件、墙纸展示销售软件、瓷砖展示销售软件、涂料展示...

Global site tag (gtag.js) - Google Analytics