社区
模式及实现
帖子详情
代码完全与接口的实现分离这句话怎么理解
paodan
2009-04-14 06:00:35
在设计模式和面向对象中经常看到“代码完全与接口的实现分离”这句话怎么理解?
...全文
400
8
打赏
收藏
代码完全与接口的实现分离这句话怎么理解
在设计模式和面向对象中经常看到“代码完全与接口的实现分离”这句话怎么理解?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
码小猿的CPP工坊
2009-05-19
打赏
举报
回复
面向抽象而不是具体实现。
jiahehao
2009-05-18
打赏
举报
回复
。。。。很难理解吗?
huatian008
2009-05-07
打赏
举报
回复
接口 --> 主板上pci插口
接口实现 ----> 插在pci插口上的板子
当你设计主板的时候你只要知道在那个地方放一个插口就行了(具体这个插口干什么那就看插什么板子了),没有必要知道这个插口上的板子是干什么的,也就是说主板的设计和板子的设计是分离的(代码与接口的实现分离,他们通过接口相连接)
显卡接口:
class GraphicsCard
{
char * getFactory() = 0;
char * getDate() = 0;
void * show(void * buf) = 0;
};
class Computer
{
GraphicsCard * m_GraphicsCard;
char * buf[1000];
public:
void work()
{
m_GraphicsCard->show(buf);
}
void * setGraphicsCard(GraphicsCard * card)
{
m_GraphicsCard = card;
}
}
上面定义了一个显卡接口,但是没有真正的显卡,Computer类显卡部分完全是根据显卡接口编写的,但是他不能工作,因为他没有真正的显卡,他只有一个接口,要让他工作你必须自己根据接口来实现一个真正的显卡然后插到上面他才能正常工作
hanwangabc
2009-04-26
打赏
举报
回复
比如,某个函数f(),你在类A中实现了f(),当你要使用f()时,直接调用A::f()即可,不需要改变其里面的代码
qqwx_1986
2009-04-26
打赏
举报
回复
作用是减少代码的维护代价
mabo321
2009-04-14
打赏
举报
回复
我是这样理解的:
比如 有一个接口 是完成 排序功能的……
你自己的代码完全与接口的实现分离,
也就是这个排序接口的实现 可以使用不同方式来完成此功能(比如有一个好的算法可以进一步优化)
而在主题代码中 不需要任何修改……
old-six-programmer
2009-04-14
打赏
举报
回复
与“针对接口编程”异曲同工
简单来说,你不需要知道隐藏在接口后面的实现
因为那些实现很可能是易变的,你不能依赖接口的实现
否则,也就意味着,当接口的实现改变时
所有与接口实现有依赖关系的客户端代码也需要跟着变
如果,只依赖接口,而接口相对来说是比较稳定的
接口一旦设计好了就不能经常变动
否则,所有依赖代码都需要相应变动,那可能将是灾难性的
ryuk33
2009-04-14
打赏
举报
回复
分离实现与接口。
当实现发生变化时,不需要修改接口
C++
接口
与
实现
分离
(转)
(http://www.cnblogs.com/dwjaissk/default.html?page=2真是一个好博客啊)*C++
接口
与
实现
分离
在用C++写要导出类的库时,我们经常只想暴露
接口
,而隐藏类的
实现
细节。也就是说我们提供的头文件里只提供要暴露的公共成员函数的声明,类的其他所有信息都不会在这个头文件里面显示出来。这个时候就要用到
接口
与
实现
分离
的技术。 下面用一个最简单的
前后端
分离
架构中的
接口
设计
前后端
分离
一般是指在软件开发过程中,前端
代码
和后端
代码
分别开发,互不干涉,不使用后端语言去写前端,也不用前端技术写后端,从形式上来说,一般是不用JSP或PHP混写
代码
,但并不是说不能用JSP或php文件格式。前后端
分离
后,前后端的通信一般是通过HTTP
接口
的方式进行调用。 对与前后端
分离
的概念有很多人都会有误解: 前后端
分离
就不能使用JSP这样的文件:实际上
分离
并不一定非得用HTML文件
基于
接口
而非
实现
编程,你真的
理解
了吗
“基于
接口
而非
实现
编程”这条原则的英文描述是:“Program to an interface, not an implementation”。我们
理解
这条原则的时候,千万不要一开始就与具体的编程语言挂钩,局限在编程语言的“
接口
”语法中(比如Java中的 interface)。这条原则是一条比较抽象、泛化的设计思想。实际上,
理解
这条原则的关键,就是
理解
其中的“
接口
”两个字,这里的“
接口
”是泛指,可以
理解
为“抽象”。
轻松
理解
前后端
分离
(通俗易懂)
文章目录一、前言二、前后端
分离
本质三、1.前后端
分离
2.不使用前后端
分离
会有什么问题 一、前言 该技术博客是关于楠哥教你学Java的前后端
分离
课程笔记总结,希望可以为大家带来帮助! 二、前后端
分离
本质 大家往往会陷入一个误区,试图用具体的技术来描述什么是前后端
分离
这个一个概念,这是答非所问的。一提到前后端
分离
就是SpringBoot + Vue,这并不是正确的
理解
! 我们问的是:你为什么采用这种方式解决问题 回答却是:你是如何去具体做这件事 前后端
分离
是:软件技术和业务发展到一定程度,在项目管理工作上必须进
前后端
分离
, 如何保证
接口
安全性 ?
1. 完整的
代码
前端vue
代码
后端java
代码
2. Api有哪些安全问题?http
接口
—前后端
分离
mvvm 3. Token授权机制 用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到请求后进行Token验证,如果Token不存在,说明请求无效。 4. 时间戳超时机制 时间戳,是客户端调用
接口
时对应的当前时间戳,时间戳用于防止DoS攻击。当黑客劫持了请求的url去DoS攻击,每次调用
接口
时
接口
都会判
模式及实现
5,530
社区成员
4,167
社区内容
发帖
与我相关
我的任务
模式及实现
C/C++ 模式及实现
复制链接
扫一扫
分享
社区描述
C/C++ 模式及实现
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章