目录
面向对象设计
开发
数据库
操作系统
CPU:
算法分析与设计:
1、直接插入排序
2、简单排序
3、冒泡排序
4、希尔排序
5、快速排序
6、堆排序
7、归并排序
软件工程知识
信息安全
1、对称加密技术
2、非对称加密技术
3、信息摘要
4、数字签名
5、数字证书与PGP
网络安全
1、各个网络层次的安全保障
2、网络威胁与攻击
3、防火墙技术
4、OSI七层协议
5、TCP/IP协议族(Internet核心协议)
面向对象设计
创建型模式
| 模式 |
个人理解 |
| 抽象工厂模式 |
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。(一系列接口) |
| 工厂模式 |
定义一个用于创建对象的接口,让子类决定实例化哪个类。(实例化推迟) |
| 生成器/构建起模式 |
将一个复杂的构建与它的表示分离,使得同样的构建过程可以有不同表示。(相同组件分离共建) |
| 原型模式 |
用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。(复制) |
| 单例模式 |
一个类仅有一个实例。 |
结构型模式
| 模式 |
个人理解 |
| 适配器模式 |
原不相容的接口,能协同工作。(转换接口,如充电接口) |
| 桥接模式 |
把变化部分拆开,进行连接,让变化部分独立变化。(继承树拆分) |
| 组合模式 |
整体——>部分,层次结构。(树形目录结构) |
| 装饰模式 |
基础类+内容或职责。(附加职责,扩展) |
| 外观模型 |
系统一组接口,合成一个类接口。(对外统一接口) |
| 享元模式 |
提供支持大量细粒度对象共享的有效方法。 |
| 代理模式 |
为其他对象提供一种代理以控制这个对象的访问。 |
行为型模式
| 模式 |
个人理解 |
| 职责链模式 |
传递职责,请求不能处理时,往下发。 |
| 命令模式 |
日志记录,可撤销。(封装为一个对象) |
| 中介者模式 |
不直接饮用。(A-B-C,使用中介对象,进行交互。) |
| 观察者模式 |
当一种一对多关系,一个发生改变,会发出通知和更新。 |
| 状态模式 |
内部状态改变,而改变它的行为状态。(状态变成类) |
| 策略模式 |
多算法封装,可以不改变算法结构而使用不同的算法。(多方案切换) |
| 解释器模式 |
给定一个语言,作为表示,并定义一个解释器。 |
| 迭代器模式 |
提供顺序访问,且不需暴露内部表示。 |
| 备忘录模式 |
对内部做备份,可以恢复。 |
| 模板模式 |
提供算法公共部分,将变的部分留给子类。 |
| 访问者模式 |
在不改变各元素下,进行新的操作。(类似访问者) |
其中工厂模式、适配器模式、解释器模式,可以表示类模式,也可表示对象模式。其他只表示对象模式。
设计原则
| 原则 |
内容 |
| 接口隔离原则 |
使用多个专用接口比使用单一的总接口要好。 |
| 开放-封闭原则 |
软件实体(类、模块、函数等)应该是可以扩展的,即开放的;但是不可修改的,即封闭的。 |
| 共同封闭原则 |
包中所有的类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。 |
| 组合重用原则 |
要尽可能使用组合,而不是继承关系达到重用目的。 |
| 单一职责 |