软件设计精要与模式 张逸

来源:互联网 发布:mac luajit 编译 编辑:程序博客网 时间:2024/05/16 19:15

一、设计之道

软件设计两种方法:计划的设计(满足扩展的设计)和演进的设计(极限)

 

软件架构设计:

1、程序组织(Program )

   需求--系统的功能模块(或子系统)--封装成包(考虑解耦--面向接口设计(判断哪些接口可以发布))

2、数据设计(Data Design)

  大多时候功能模块的划分与数据库(数据表)一致      考虑:ORM(Object Relation Mapping)、查询性能、扩展、移植

3、安全性(Security)

  最基础的保证:数据安全

  另外:用户授权、加密与非法攻击的防御

4、性能(Performance)

  优化数据库访问、合理的分层、引入缓存

  WEB:减少HTTP会话访问降低服务器负载

5、可扩展性(Scalability)

  面向对象:AOP、 Web Service面向服务器的架构(Service-Oriented Architecture)

6、可靠性(Reliability)

  容错性和错误处理

7、可用性(Usibility)

 

 

重构的必然性  《重构--改善既有代码的设计》

 

UML :面向对象世界的世界语

 

测试驱动开发