首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

分层与接口,该如何处理

2013-01-17 
分层与接口以下言论均为个人观点,如有不同意见请尽量客气一点的提出来。避免漫骂和人身攻击。--------------

分层与接口
以下言论均为个人观点,如有不同意见请尽量客气一点的提出来。避免漫骂和人身攻击。
---------------------------------------------------
我想只要是写过程序的人都听说过“分层”和“接口”两个词,但也有写过好几年程序的人还在问我这两个词究竟是什么意思。这些年的经验告诉我,理解了这两个关键词,软件设计就变得简单了。

说到软件设计,可以分为两个级别来对待。一是系统级的,比如:整个系统分为哪些部分,每个部分之间是通过什么媒介进行通信,数据存储使用什么方式,用户界面怎么划分等。另一个是模块级的,比如:类层次结构如何组织,类的接口设计等。当我们遇到一个新的设计问题的时候,我是说要写一些代码来实现某个系统的时候,应该怎么一步一步的去理顺思路?不管是系统级的设计问题,还是模块级的设计问题,其中的道理基本上是一样的。而且,对于不同的view point,这两个概念是可以相互转化的。

分层的时候,通常就是在划分子系统。而子系统之间的通信,就需要按照接口的思路去考虑。额外一层得到的效果就是“间接”,它可以解耦,让系统呈现出一个“结构”。分层涉及到一个粒度的问题,它通常取决于对未来变化的预期。横向的分层和纵向的分层分别对应到的是模块级和系统级的设计问题。而接口设计的时候,可以从两方面来考虑,一是对象自身的行为,二是它的服务消费者的需要。接口没有横向和纵向的分别,它与外界的联系决定了它所处的级别。

训练路线:
1、设计单独的一个类,让它有“和需求相关”的一些接口。和需求相关的意思是,作为一个图书租赁系统所面对的“客户”和作为酒店定房系统所面对的“客户”概念可能不一样。
2、考虑类之间的联系,让它们可以相互调用。调用的方式可能会很多,思考一下哪种方式更好。
3、当类越来越多的时候,类树的组织问题。让类之间有继承关系,当它们确实不是相互利用而是相互包含的时候。

还有一个和设计紧密联系的概念是实现。设计和实现怎么去做平衡?有的人可能认为,设计的时候就不要去考虑具体的实现,比如采用何种语言来写代码之类的。这个问题我觉得关键是找一个平衡点。本来就是两个紧密联系的概念为什么非要活生生的剥开呢?主要是需要一个平衡点来引导,如果偏离这个平衡点走的太多的时候就考虑往回走。

胡乱的写了些,也不知道能不能给入门的人一些帮助。。。
[解决办法]
虽然没看懂,还是帮顶。
lz要说理,最好举实例,画图。

热点排行