设计的层次——代码大全学习笔记

 

实现一个系统时,需要将其分为不同的层次上进行设计;各层次如下:

      

 

1 软件系统

       确定系统的框架结构;

2 分解为子系统或包

       将系统合理的分解为解不同的子系统,确定不同子系统之间的通信规则;

常用的子系统:

       业务规则:依赖于具体的业务;

       用户界面:处理用户界面交互,窗口管理等;

       数据库访问:隐藏数据实现细节,提供抽象的数据访问接口;

       对系统的依赖性:对特定的系统依赖性进行封装;

      

          这两个给人的感觉就太不一样!

3 分解子系统中的类

  子系统由多个类构成,对问题进行抽象,设计不同的类完成相应的功能;

  基于接口的编程,类之间的通信方式;

4 分解成子程序

  确定类的细节属性和方法,类的内部结构和流程,公有保护私有类型;考虑类的扩展性;

5 子程序的设计

  编写类中每个方法的代码功能实现:伪代码,算法,逻辑,组织方式。

 

大致的方向如此,还需具体问题具体对待。

每一层次设计需要关注的力度和所重点关注的对象是不一样的。

 

下面看一下建筑物层次设计:

  

    

  这就是建筑学的层次设计原则,其关键就是按照结构的稳固度对建筑物的结构进行划分。

稳固度的反面就是变化的可能性;这一设计原则按照变化的难易程度将结构分割成不同层次,

位于最底部的是最稳固、最难以改变的结构,越往上就是稳固性越低、变化越容易的结构。

 

  因此Frank Duffy说,作为一个设计师,你应当避免为一个五分钟的问题提供

一个五十年的解决方案,也不要为一个五十年的问题提供一个五分钟的解决方案。

建筑设计师、服务工程师、空间计划师、室内装修师应当解决不同时间尺度上的问题。

引自:http://www.yongfa365.com/item/RuanJianDeJiaGouYuSheJiMoShiZhiCengCiYuanZe.html

原文地址:https://www.cnblogs.com/bastard/p/2493844.html