以下文字是《Agile Java》的读书摘录
1,瀑布VS敏捷,软件构建过程
瀑布:大量文档,事先定义需求和系统设计,分阶段自顶向下。
敏捷是新颖,轻量级的过程。不强调文档编写和事先确定需求,敏捷过程致力于拥抱变化。
构建软件的过程,不论是敏捷还是非敏捷都要经历的过程
1.分析---收集提炼需求
2.计划---大概的完成时间
3.设计---如何把需求装配好
4.编码---选择一门编程语言实现
5.测试---保证功能正确性
6.部署---交付到实际环境
7.文档---面向不同用户描述软件,包括操作软件的最终用户和维护软件的程序员
8.评审---通过同级评审,保证软件的可维护性和高质量
2,关于Java
Java SDK包括了三个组件:编译器javac(一个程序输入Java文件输出Class文件[字节码]);虚拟机java(一个程序,执行Class文件中的代码。Java代码不必调用操作系统编程接口-API);一套类库API。
3,面向对象
面向对象编程语言的一个基本前提是创建客观世界事物的抽象;
合适的面向对象可以在应用软件成熟和扩展的过程中,提高管理维护的能力;
4,什么对象
放大本质,去掉无关的内容。 一个支票对象会包括一些细节,比如支票号,收款人和金额。但是工资系统对于支票的颜色,尺寸并不感兴趣。
一个面向对象系统首要关注的是行为,面向对象的核心概念是对象之间相互发送消息,从而影响行为。
一个安全对象发送一条消息给一个门禁控制对象,告诉它把所控制的门设置为安全状态。
门禁控制器是消息的接受者,接受者决定如何处理收到的消息。
消息的发送者不关心怎样保证安全,其中的细节只有接收者知道。(封装,隐藏不必要的细节)
安全系统不知道或者不关心门禁控制器是一个电磁锁控制器,还是一个电子插销控制器。即客户不关心哪一种实现会被调用。(多态)
5,什么是类
类提供一种方式来定义一组相关对象的共同性,类是一个模板,用来创建新的对象。
6,什么是继承
继承是系统里类与类之间的一种关系,它允许一个类以其他类为基础,增加自己的特定行为。继承,一种有向关联,子类依赖父类。
7,为什么要测试驱动开发TDD
TDD是一种简单快速循环的机制;
编码,测试,重构不断重复;
确保新增代码不会破坏系统中其他任何代码。
8,关于UML
面向对象系统建模的事实标准,程序员可以很快理解你的设计意图。UML的作用是一种珍贵的沟通工具。
网友评论