第七章 软件架构设计 考试大纲: 软件架构的概念 软件架构风格 特定领域软件架构 基于架构的软件开发方法 软件架构评估 软件产品线 软件架构设计就是软件系统的"布局谋篇", 软件架构的研究内容主要涉及: 软件架构描述.软件架构设计.软件架构风格.软件架构评价和软件架构的形成方法. 软件设计人员学习软件架构知识旨在站在较高的层面上整体地解决好软件的设计.复用.质量和维护等方面的实际问题. 一.软件架构的概念- (一)软件架构的定义 软件架构为软件系统提供了一个架构.行为和属性的高级抽象,
1.提炼类 某个类做了应该由两个类做的事,需要建立一个新的类,将相关的字段和函数从旧类搬到新类. 先搬较底层函数(就是给别人调用多过于调用别人的),再搬高层函数. 重构,改善既有代码的设计--第七章感悟,布布扣,bubuko.com
第七章 链接 链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(或拷贝)到存储器并执行. 链接可以执行于编译时,也就是在源代码被翻译成机器代码时:也可以执行于加载时,也就是在程序被加载器加载到存储器并执行时:甚至执行于运行时,由应用程序来执行. 在早期的计算机系统中,链接是手动执行的.在现代系统中,链接是由叫链接器的自动执行的. 7.1 编译器驱动程序 大多数编译系统提供编译驱动程序,它代表用户在需要时调用语言预处理器.编译器.汇编器和链接器. 例子: 函数mai
架构引用维基百科:软件体系结构是构建计算机软件实践的基础.与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础.从和目的.主题.材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟.一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计.软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作.逻辑和流程.软件
在这周我看了第六章敏捷流程跟第七章MSF.并有了以下学习总结. 敏捷这个词听起来就是反应灵敏迅速而有效,而在软件按工程里,敏捷不同于现有做法之处在于,敏捷的价值观和流程是个人和交流.可用的软件.与客户合作.响应变化,而现有做法的则是流程和工具.完备的文档.为合同谈判.执行原定计划敏捷的开发原则是尽早并持续交付有价值的软件以满足顾客需求.只有不断关注技术和设计,才能越来越敏捷.只有能自我管理的团队才能创造优秀的架构.需求和设计.敏捷开发的原则很多,其中印象最深的就是"经常发布可用的软件,发布间隔
第七章 缓存 作者:Allen B. Downey 原文:Chapter 7 Caching 译者:飞龙 协议:CC BY-NC-SA 4.0 7.1 程序如何运行 为了理解缓存,你需要理解计算机如何运行程序.你应该学习计算机体系结构来深入理解这个话题.这一章中我的目标是给出一个程序执行的简单模型. 当程序启动时,代码(或者程序文本)通常位于硬盘上.操作系统创建新的进程来运行程序,之后"加载器"将代码从存储器复制到主存中,并且通过调用main来启动程序. 在程序运行之中,它的大部分数据
C++入门第七章:函数-C++的编程模块 函数的基本知识 要使用C++函数,必须完成如下工作: 提供函数定义 提供函数原型 调用函数 库函数是已经定义和编译好的函数,可使用标准库头文件提供原型. 定义函数的模板: typename functionName(parameterList) { statements return value; } 对于有返回值的函数,必须使用return语句返回.可以是常量.变量或者是表达式.其结果的类型只能为typename,若不是,会进行强制类型转换. C++对
题目:阅读<大型网站技术架构:核心原理与案例分析>第五.六.七章,结合<XXX需求征集系统>,分析如何增加相应的功能,提高系统的可用性和易用性,撰写一篇1500字左右的博客阐述你的观点 在这一节课上,我们学习了系统质量属性其中的可用性和易用性.那么质量属性是什么呢,质量属性是高于对系统功能(即对系统能力.服务和行为)的基本的要求的.系统质量属性讲重点放在了可用性.可修改性.性能.安全性.可测试性和易用性.从设计师方面,系统质量属性一般存在三个问题:(1)为属性提供的定义并不是可操作
Java 7 并发编程实战手册目录 代码下载(https://github.com/Wang-Jun-Chao/java-concurrency) 第七章定制并发类 7.1简介 Java并发API提供了大量接口和类来实现并发应用程序.这些接口和类既包含了底层机制,如Thread类.Runnable接口或Callable接口.synchronized关键字,也包含了高层机制,如在Java 7中增加的Executor框架和Fork/Join框架.尽管如此,在开发应用程序时,仍会发现己有的Java类无