AUP: Agile Unified Process 敏捷统一过程, 轻量级的 RUP. 本书通过两个案例 和 将 AUP 贯穿起来. 从 OOA/D...
只有当感知和分离困难时, 才需要使用这三个特殊 Object. Reference:《修改代码的艺术》. Fake Object 仿对象, 实现了依赖的接口, 包含一些简单的数据处理逻辑, 可对外部调用进行感知....
尾递归 == 伪递归, 只有递, 没有归… 不是所有的递归都可以转成尾递归, 例如回溯的递归实现就不行, 因为回溯是每一次执行都有 n (n > 1) 种状态, 即在递归的每一层都会有多个递归调用. 递归 (回溯除外)...
从程序员到软件架构师, 那些年走过的路.
位运算在程序设计中的使用 – 位掩码
成也框架, 败也框架.
在 AUP 中, 需求也不是一次性分析完的, 会是一个不断迭代精化的过程. 先来个总结: 摘要/非正式/用例图, 用来快速收集需求, 表达用户可以利用系统作什么, 是粗粒度级别的 详述用例,...
软件世界是对现实世界的抽象, 而传统的三层架构或 MVC 架构 (参考: 三层架构与 MVC), 却是结构化的生搬硬套, 在这些架构中的设计出来的对象是贫血的, 是“业务逻辑”类, 跟现实世界甚至毫无关系,...
RUP 项目模板 密码: ownc RUP 中有 9 个核心工作流, 分为 6 个核心过程工作流 (Core Process Workflows) 和 3 个核心支持工作流 (Core Supporting...
简单聊聊架构师及其职责.
基于 bootstrap 的 jQuery 多级列表树插件 (支持 checkbox) 基于javascript和css开发的 Web 富文本编辑器
DDD: 领域驱动设计, 《领域驱动设计》 TDD: 测试驱动开发, 《敏捷软件开发》 BDD: 行为驱动开发, 《C# 测试驱动开发》 FDD: 特性驱动开发, 《彩色 UML 建模》 MDD: 元数据驱动开发,...
nginx + keepalived 的组合通常被用来实现前端高可用. 在这个组合中, 利用 nginx 的反向代理实现前端的动静分离和负载均衡, 如下图. 在以上的体系中, 我们接着将一些通用的服务从动态 Server...
基础使用 执行方式 方式一: + 需在脚本开头指定解释器: #!/bin/bash + 给脚本 +x 权限, + 输入脚本绝对路径或相对路径: * /root/test.sh * ./test.sh +...
stl 提供了三个最基本的容器: vector, list, deque. vector vector 为存储的对象分配一块连续的地址空间, 因此对 vector 中的元素随机访问效率很高. 在 vecotor...
Genshi XML Template Language Genshi provides a XML-based template language that is heavily inspired by Kid,...
JDBC 中注册驱动为什么使用 Class.forName("com.mysql.jdbc.Driver") 而不使用 new com.mysql.jdbc.Driver()? 其原因有二. 原因一 new 一个类需要...
近来对架构这块又有了新认识, MVC 也好, 三层也罢, 都是结构性模式, 由于结构化, 而可能忽视了行为事件, 这类的架构大多是一种 “失血”、”贫血” 模式 (这段话不理解先看完下面的分析, 再看下最后的小结,...
RUP 软件工程管理概述 软件工程模型 瀑布式开发 迭代式开发 敏捷开发模型 瀑布式开发 传统的瀑布式开发, 也就是从需求到设计, 从设计到编码, 从编码到测试, 从测试到提交, 大概这样的流程;...
UML 架构及 StarUML UML 架构 UML 图形分类: 对象图 + 类图 + 组件图 + 部署图 交互图 + 用例图 + 时序图 + 协作图 + 活动图 状态图 + 状态图 参考文档 这里重点学习...
读锁 读锁的意义在于, 当前线程告诉别人: “我要读东西啦, 你们先不要改数据, 免得我读到错的数据.” 由于可见, 对数据加读锁后, 其他线程还能读 (因为大家都是读的话, 就不会产生正在读的过程中数据被修改的问题),...
编码/解码 任何数据在内存中都是以二进制的形式保存, 也就是说一个文本文件, 不管你看到的是中文还是英文或者是法文, 它在内存也都是一串二进制数据 (或者说是一串字节数组), 那么当用一个文本浏览器打开一个文本文件时,...
函数注释 /************************************************************************ ◇ 名称: $SymbolName$ ◇ 参数:...
在 Google 编程规范 中提到过: 用来做基类的类, 其析构函数应该为虚函数. 那么为什么呢? 看下面这个例子: #include "stdafx.h" #include using...
两者都是一种开发模式, 就像设计模式一样, 考虑的角度不一样, 个人感觉谈不到取代一说. 传统的瀑布式开发, 也就是从需求到设计, 从设计到编码, 从编码到测试, 从测试到提交大概这样的流程,...
类图和接口图 首先动物矩形框, 它就代表一个类图, 分三层: 第一层显示类的名称, 如果是抽象类, 则用斜体表示 第二层是类的属性 第三层是类的方法 注意前面的符号: ‘+’ –> public ‘-’ –>...