XML
- 可扩展标记语言
- 表示复杂的数据结构;
- 用处:跨平台的数据传递(基本不会操作);
- 配置文件(经常操作);
- 规范:合法的XML,符合XML语法规范,遵循标记书写正确,成对出现,有开始就有结束,除非是单标记
; - 每个XML必须有且只有一个根元素;
- 标记嵌套必须正确,不能出现交叉标记;
- 有效的XML,符合DTD规范或者是schema(更细,就是xml语法) 规范
- 内容:元素(标记);
- 属性:;属性值没有数据类型,用”“或”括起来;
- 如果一个元素有多个属性:;接着写,不加逗号;
- 文本,夹在开始和结束标记之间的;
- 注释:
- XML声明:一般写在第一行,
面向对象软件工程与UML
- 软件工程三要素:方法,工具,过程;
- 项目(用户),产品 (市场);
- 生命周期:商机—–>可行性分析—–>需求分析(UI,测试)—-SRS—–>设计(概要设计(架构师,项目经理),数据库设计(专人),详细设计(资深人员))—–>开发阶段(开发人员,测试人员)—-测试阶段(性能)—>用户培训—->试运行——>项目验收—–>维护(二次开发);
- has a(聚合); use a; contains a(组合); is a;
面向对象设计原则
- 软件设计的质量:高内聚(理想状态下一个代码单元应该负责一个内聚的任务)与低耦合(类与类之间的关系),所有优秀设计软件的特征;
- 好的软件首要要求:功能需求;
- 好的软件要求:可读性,可复用性,可扩展性,可维护性;
设计原则:
- 单一设计原则:单一职责(不是单一功能,所有功能都围绕设计的目的)
- 开闭原则:对扩展开放,对修改关闭;配置文件的出现就是为了开闭;
实现开闭原则的手段和工具
- 里氏替换原则:在项目中判断是否使用继承的时候使用的一种原则,子类应该能够完全替换任何父类能够出现的地方,并且经过替换后,
- 依赖倒转原则:将两个模块之间的依赖关系倒置为抽象类或接口;两层含义:高层不应该依赖低层,二者应该依赖抽象;分层的时候低层设计接口或抽象类与高层绑定,遵循依赖倒转原则;
- 接口隔离原则:尽量定义小接口;
- 组合/聚合复用原则:尽量使用组合/聚合来达到复用目的,而不是使用继承;好处:缺点:
- 迪米特法则:耦合越低越好;
创建型设计模式
- 设计模式:针对具体,代码级别;23种—创建模式(创建对象)—结构模式—-行为模式;
单例模式,工厂模式,原型模式
- 单例模式:single ton
- 应用场景:当需要设计一个特殊类,能且只能产生一个对象;
- 解决方案:3种;
- 对比优劣:
- 工厂模式:factory
- 应用场景:将生产对象类与使用对象类分离
- 解决方案:
- 原型模式:prototype
- 应用场景:根据原有的对象,产一个一模一样的对象;
- 解决方案:浅clone只clone一次;deepcolone;
- 四种产生对象方式:new,反射,反序列化,clone;
装饰器模式
- 主料,配料;
- 架构模式:针对宏观,工程中类与接口的关系进行项目搭建与设计;
- java编程思想,设计模式,java核心编程,iteye,gitub;