惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - Aowind

Freeswitch 安装爬坑记录1 兜兜转转,最后还是又回来研发了。 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。 好久没有写随笔了,记录个旋转算法。 我的G1,1.6固件,用起来越来越感觉不错了 JSON定义AS项目界面 - Aowind - 博客园 [转]将数据库表存入内存中,随时调用 [转]asp.net中对DataTable数据进行排序、检索、合并、分页、统计 - Aowind - 博客园 AjaxPro快速入门 最近的工作 光阴真的是贱(似箭),一不小心就又过一年了 简单的无框架Ajax应用 一个事件应用的例子 [转载]P2P之UDP穿透NAT的原理与实现 [转载].Net和Flash如何进行数据交互 有关Asp里Split函数使用多个分割符的方法 自己写的一个asp.net的生成曲线图的过程 利用Ajax技术写一个迷你留言板WEB控件 用于模拟短信群发情况的随机数产生
一个实例来简单的说明接口
Aowind · 2007-01-08 · via 博客园 - Aowind

很多时候在考虑设计而不是考虑编码的时候,接口才真正清晰,明朗的把它的原理展现给你。举个简单的例子,计算机的主板和显卡,他们之间有统一的约定,只要符合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);   
   }
   
          
}