zoukankan
html css js c++ java
一个实例来简单的说明接口
很多时候在考虑设计而不是考虑编码的时候,接口才真正清晰,明朗的把它的原理展现给你。举个简单的例子,计算机的主板和显卡,他们之间有统一的约定,只要符合PCI扩展的标准,那么你的显卡肯定能插上主板,并能访问主板来的信息。这个约定就是接口。很多时候,在软件开发领域,接口设计应该是系统分析者的事情,也就是Team Leader的是事情了。Team Leader根据需求设计出Schelable的接口和Architecture,程序员根据他的Architecture去编码,最后开发,测试等等。其实,很多时候,你不用接口也能实现相同甚至更完备的功能。但是,有了接口,会使整个设计变得清晰,明朗。如果从软件的扩展性和重用性上看,接口的设计更显的举足轻重。所以说,理解和认识接口应该从设计的角度看,而不是编码的角度。
附:A Sample
需求:在一个表格(已有的Table类)里面我要显示这样一些数据:
1 文本信息: 显示文本
2 图片信息:显示图片
3 视频信息:播放视频
设计如下:
interface
IDisplayable
{
void
Display(Table table);
}
public
class
Text:IDisplayable
{
public
void
Display(Table table)
{
//
implements the text display method
}
}
public
class
Picture:IDisplayable
{
public
void
Disply(Table table)
{
//
implements picture display here
}
}
public
class
Vedio:IDisplayable
{
public
void
Disply(Table table)
{
//
implements vedio play
}
}
public
class
Test
{
Text t
=
new
Text(
"
Hello
"
);
Picture p
=
new
Picture(
"
1.jpg
"
);
Vedio v
=
new
Vedio(
"
sample.avi
"
);
Table table
=
new
Table();
Table.Add(t);
Table.Add(p);
Table.Add(v);
Table.Show();
foreach
(IDisplayable disp
in
Table.Items)
{
disp.Display(
this
.table);
}
}
查看全文
相关阅读:
eclipse里面已经提交的svn提交
session 失效
svn版本管理
前端控制台调试经验
python001环境搭建及入门 http://python.jobbole.com/81332/
eclipse自己写makefile 建工程
编码风格
算法导论第22章22.2广度优先搜索
vnc相关
eclipse相关设置
原文地址:https://www.cnblogs.com/aowind/p/615193.html
最新文章
json is error
Error: could not open `C:Program FilesJavajre7libamd64jvm.cfg'
什么是什么
不知道空 或 null 时 用&&
哈哈哈
进阶线段树之乘法操作
暑假集训Day 10 小烈送菜
暑假集训Day 9 WYT的刷子
暑假集训第二周
暑假集训Day 9 P1004 方格取数
热门文章
暑假集训Day8 P3472 [POI2008]MAF-Mafia(思维题)
暑假集训Day 7 马大嘴的废话(trie树)
暑假集训Day 7 李时珍的皮肤衣
暑假集训Day 5 P3963 [TJOI2013] 奖学金
暑假集训日记Day xx
【纪中受难记】C3D2:数学大赏
3-SQL 命令
sql-2-sql的数据类型
sql-1-oracle
正则表达式之java表示~我是熟练工
Copyright © 2011-2022 走看看