鱼C论坛

 找回密码
 立即注册
查看: 2936|回复: 0

[学习笔记] 037-C++之C++的接口封装和设计

[复制链接]
发表于 2018-9-9 18:31:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 moc 于 2018-9-9 18:35 编辑

1、C++业务逻辑基础
接口封装设计.png
2、注入、弱关联、控制反转
注入:是把一个类包含在另一个类中。
弱关联:一个类作为另一个类的成员函数的参数。
控制反转:业务逻辑和底层业务之间控制权的切换。
  1. class MainOP
  2. {
  3. public:
  4.         MainOP(SocketIF *sIf)   // 注入
  5.         {
  6.                 this->sIf = sIf;
  7.         }

  8.         MainOP()
  9.         { ; }

  10.         void setSIF(SocketIF *sIf)
  11.         {
  12.                 this->sIf = sIf;
  13.         }

  14.         SocketIF* GetSIF(SocketIF *sIf)
  15.         {
  16.                 return this->sIf;
  17.         }

  18.         int OP1(SocketIF *sIF/* 弱关联*/, unsigned char *in, int inlen, unsigned char *out, int *outlen)
  19.         {
  20.                 int ret = 0;
  21.                 ret = this->sIf->cltSocketInit();
  22.                 ret = this->sIf->cltSocketSend(in, inlen);
  23.                 ret = this->sIf->cltSocketRev(out, outlen);
  24.                 ret = this->sIf->cltSocketDestory();
  25.                 return ret;
  26.         }
  27. protected:
  28. private:
  29.         SocketIF *sIf;   // 注入
  30. };
复制代码

3、AOP切面编程思想了解
AOP:Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。
aop.png
AOP编程可以在不改变原业务代码的基础上增加新的业务逻辑。
AOP编程在java运用更广泛,在C++中需要借助汇编操作才能完成,属于高阶部分。

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-22 06:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表