程序大作战,萌出一脸血!

简介:

非常开心生平所写的第一篇博客就获得了广泛的赞誉,还有幸登上了编辑推荐,看来不仅是程序人生寂静欢喜,博客生涯也是岁月静好啊!在此还是把本人的杰作高挂:《程序人生的寂静欢喜》,高调还是要有的,万一红了呢?你说是吧?

一. 引子

    大家眼里的程序首先是这样的:

 
 
  1. namespace OMCS.Passive{    // 摘要:    //    多媒体设备管理器基础接口。用于管理本地的所有多媒体设备。 
  2.     public interface IMultimediaManager : IDisposable    {         // 
  3.         // 摘要:        //     是否根据音频反馈以及视频丢帧情况自动调整视频编码质量。 
  4.         bool AutoAdjustCameraEncodeQuality { get; set; }        // 
  5.         // 摘要:        //     掉线后,是否自动重连。 
  6.         bool AutoReconnect { get; set; }         
  7.         // 
  8.         // 摘要:        //     语音视频聊天组入口。 
  9.         IChatGroupEntrance ChatGroupEntrance { get; }                      // 
  10.         // 摘要:        //     是否将话筒采集到的音频输出给Guest。 
  11.         bool OutputAudio { get; set; }        // 
  12.         // 摘要:        //     是否将桌面图像输出给Guest。默认值为true。 
  13.         bool OutputDesktop { get; set; }        // 
  14.         // 摘要:        //     是否将摄像头集到的视频输出给Guest。 默认值为true。 
  15.         bool OutputVideo { get; set; }        // 
  16.         // 摘要:        //     当通道繁忙时,采取的视频帧(来自摄像头)丢弃模型。默认值为DiscardWhenNeed。 
  17.         FrameDisardedMode VideoFrameDisardedMode { get; set; }        //             // 摘要:        //     刚刚从话筒采集的音频帧。 
  18.         event CbGeneric<byte[]> AudioCaptured;        // 
  19.         // 摘要:        //     刚刚播放的音频帧。 
  20.         event CbGeneric<byte[]> AudioPlayed; // 
  21.         // 摘要:        //     与多媒体服务器建立连接,并初始化本地多媒体管理器。 如果与服务器连接失败,将抛出网络异常。       
  22.         void Initialize(string userID, string password, string serverIP, int serverPort);              // 
  23.         // 摘要:        //     和目标用户之间是否打通了P2P通道?      
  24.         bool IsP2PChannelExist(string destUserID);    }} 

    可是你并不会知道他们在我眼里其实是这样的——

二.程序大作战

     1.所谓的:“  OMCS 多媒体管理器,用于管理本地的所有多媒体设备。” 其实就是这个意思:

   

    2.所谓的布尔类型的属性,其实就是一个个开关嘛,像这样:

   

2.所谓方法,其实就是一个个按钮,就像这样:

     

2.所谓事件,其实就是一个个插槽,就像这样:

   

  2.所谓的布尔类型的只读属性,其实就是一个个指示灯,就像这样:

 

 2.另外四个连接器可以就像这样:

   

二.萌出一脸血

     最后,将这个零件全部组装起来,就成为了一个 OMCS 客户端了。是不是很萌呢?只要我们调整这些开关,控制这些按钮,外接这些插槽,并观察指示灯的变化,就可以将“阿童木”胸前的多媒体连接器发射出去,连接到远程机器上的多媒体设备了!

 

     运用形象化的思维,我们可以把原本很抽象枯燥,条分缕析的代码,变得鲜活、生动而又富有趣味,大家在理解程序的时候也可以借鉴一下哦。


作者:CJM恣肆

来源:51CTO

相关文章
|
7月前
|
Go
腥风血雨中,这招救了我的代码!
腥风血雨中,这招救了我的代码!
28 0
|
9月前
|
SQL 存储 缓存
拧螺丝|主管老大是魔鬼吧?第一道就干掉了对方,我什么时候才能有新同事?
拧螺丝|主管老大是魔鬼吧?第一道就干掉了对方,我什么时候才能有新同事?
52 0
|
8月前
|
测试技术
软件测试面试者注意啦!尽量避开这个坑,千万别让培训机构割韭菜啦!
软件测试面试者注意啦!尽量避开这个坑,千万别让培训机构割韭菜啦!
程序人生 - 为什么大人永远不懂孩子的世界?
程序人生 - 为什么大人永远不懂孩子的世界?
94 0
程序人生 - 为什么大人永远不懂孩子的世界?
小猴打架
题目描述 一开始森林里面有N只互不相识的小猴子,它们经常打架,但打架的双方都必须不是好朋友。每次打完架后,打架的双方以及它们的好朋友就会互相认识,成为好朋友。经过N-1次打架之后,整个森林的小猴都会成为好朋友。 现在的问题是,总共有多少种不同的打架过程。
118 0
小猴打架
|
Linux Windows
唉,被坑惨了!
32 位系统,用户态的虚拟空间只有 3G,如果创建线程时分配的栈空间是 10M,那么一个进程最多只能创建 300 个左右的线程。 64 位系统,用户态的虚拟空间大到有 128T,理论上不会受虚拟内存大小的限制,而会受系统的参数或性能限制。
唉,被坑惨了!
|
存储 监控 安全
杂货机器人翻车实录:会被路人“吓”到,还会跟错主人!3千美元怕是买了个寂寞?
杂货机器人翻车实录:会被路人“吓”到,还会跟错主人!3千美元怕是买了个寂寞?
174 0
|
芯片
瞧!公务员的工作还可以这样干
盼啊盼,第六届世界互联网大会在乌镇如期而至。 在今天的大会上,小云带来了帮助公务员提升工作效率的“神器”,平头哥压箱底的“宝贝”...... 一起来深入了解下。
9196 0
|
程序员
是什么原因程序员再次倒下——程序员防猝死指南
今天下午,这个视频在技术群里疯传,据传是一位24岁的程序员在工作中猝死,在为他惋惜的同时,希望借助这个事情来为大家的健康敲一个响钟。
1019 0
|
程序员
又一个程序员倒下-程序员防猝死指南
今天下午,这个视频在技术群里疯传,据传是一位24岁的程序员在工作中猝死,在为他惋惜的同时,希望借助这个事情来为大家的健康敲一个响钟。
1413 0