<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[黄国强的专栏]]></title><description><![CDATA[C++方面的老家伙了]]></description><link>https://blog.youkuaiyun.com/acloudhuang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; acloudhuang]]></copyright><item><title><![CDATA[软件之禅（十二）面向对象和市场经济---平等性原理]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/149169343</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/149169343</guid><author>acloudhuang</author><pubDate>Mon, 07 Jul 2025 11:39:28 +0800</pubDate><description><![CDATA[从市场经济的平等性角度去理解面向对象的实质并指导我们的开发
]]></description><category></category></item><item><title><![CDATA[麦谷芯™ (MachCore) 应用开发教程 6：一台设备中多台电脑主从机的设置]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/145433439</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/145433439</guid><author>acloudhuang</author><pubDate>Mon, 03 Feb 2025 21:26:00 +0800</pubDate><description><![CDATA[这篇教程介绍了麦芯应用开发中一台设备连接多台电脑设置主从机的步骤，涵盖确保网段一致、设置从机固定 IP、检查网络连通性、统一 redis 版本、修改从机 redis 配置、配置从机防火墙规则、配置主从机信息等内容。]]></description><category></category></item><item><title><![CDATA[麦谷芯™(MachCore)应用开发教程5 --- 工位和晶圆传输]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/145432623</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/145432623</guid><author>acloudhuang</author><pubDate>Mon, 03 Feb 2025 20:52:57 +0800</pubDate><description><![CDATA[麦谷芯™平台通过配置文件驱动模式，解决半导体设备开发中因工位差异导致的重复编码难题，将传统3周/机型的开发周期缩短至2天。]]></description><category></category></item><item><title><![CDATA[软件之禅（十一） 消息]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/137181211</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/137181211</guid><author>acloudhuang</author><pubDate>Sat, 30 Mar 2024 20:50:40 +0800</pubDate><description><![CDATA[我认为消息分为以下三种：
* 情形1，只发送不关心是否收到，即广播消息，类似于网络通讯的IP协议和Redis的频道消息
    * 情形2，发送消息并确保客户端一定收到
    *情形3，发送消息并确保客户端并执行指定的任务，典型的就是函数调用]]></description><category></category></item><item><title><![CDATA[麦谷芯™(MachCore)应用开发教程4 --- 文件系统]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/137176737</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/137176737</guid><author>acloudhuang</author><pubDate>Sat, 30 Mar 2024 17:35:40 +0800</pubDate><description><![CDATA[类似其他操作系统，麦芯也内置一个文件系统。麦芯文件系统使用Redis发布/订阅模式来实现消息的传递。麦芯文件系统中的每个文件就是一个频道，消息发布者将文件改变消息发布到这个文件频道，订阅到这个频道的订阅者可以接收文件改变消息。]]></description><category></category></item><item><title><![CDATA[软件之禅（十）数据库]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/136768860</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/136768860</guid><author>acloudhuang</author><pubDate>Sat, 16 Mar 2024 20:21:07 +0800</pubDate><description><![CDATA[数据库对应于图灵机的纸带。从这点出发，我对数据库有了新的认识。即发现了数据库的通讯价值]]></description><category></category></item><item><title><![CDATA[麦谷芯™(MachCore)应用开发教程3 --- 组件，方法和字段]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/136765151</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/136765151</guid><author>acloudhuang</author><pubDate>Sat, 16 Mar 2024 17:40:41 +0800</pubDate><description><![CDATA[麦谷芯增加组件以及组件包含的方法和字段的方法介绍]]></description><category></category></item><item><title><![CDATA[软件之禅（九）对象分类(Classify)]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/135747572</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/135747572</guid><author>acloudhuang</author><pubDate>Mon, 22 Jan 2024 14:40:00 +0800</pubDate><description><![CDATA[在面向对象设计原则中，有一条原则就是组合优先于继承。显然，上述组合的方法更合理，组合的软件模型即为桥接模式。当然，也不能说第一种方法完全不对，在性能敏感场合，第一种模式结合template可以获得非常好的性能]]></description><category></category></item><item><title><![CDATA[麦谷芯™(MachCore)应用开发教程2 --- 时序]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/135745866</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/135745866</guid><author>acloudhuang</author><pubDate>Mon, 22 Jan 2024 13:36:51 +0800</pubDate><description><![CDATA[相对于switch/case，Lambda更优雅，更符合面向对象]]></description><category></category></item><item><title><![CDATA[软件之禅（八）乔布斯谈面向对象]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/135501225</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/135501225</guid><author>acloudhuang</author><pubDate>Wed, 10 Jan 2024 13:42:18 +0800</pubDate><description><![CDATA[面向对象软件开发只是两件事：1 开发各种处理具体事务的对象2 开发负责创建上面事务对象的工厂对象]]></description><category></category></item><item><title><![CDATA[麦谷芯™(MachCore)应用开发教程1 --- 设备应用操作系统软件]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/135497196</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/135497196</guid><author>acloudhuang</author><pubDate>Wed, 10 Jan 2024 10:51:24 +0800</pubDate><description><![CDATA[麦谷芯™致力于给设备厂商提供一个开发工具和平台，让客户快速高效的开发自己的专用设备软件，给客户创造价值。]]></description><category></category></item><item><title><![CDATA[新申请了公众号]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/135266712</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/135266712</guid><author>acloudhuang</author><pubDate>Thu, 28 Dec 2023 13:02:43 +0800</pubDate><description><![CDATA[欢迎关注。]]></description><category></category></item><item><title><![CDATA[软件之禅（七）面向对象（Object Oriented）]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/134346557</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/134346557</guid><author>acloudhuang</author><pubDate>Sat, 11 Nov 2023 12:00:24 +0800</pubDate><description><![CDATA[从第一性原理，找出领域中最本质的元素，在此之上构建整个软件模型和框架。综上可以看出，这个抽象分析能力才是人与人产生差距的地方。]]></description><category></category></item><item><title><![CDATA[软件之禅（六）图灵机]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/133804148</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/133804148</guid><author>acloudhuang</author><pubDate>Fri, 13 Oct 2023 09:50:57 +0800</pubDate><description><![CDATA[现代计算机的本质是图灵机，它是由英国数学家和逻辑学家艾伦·图灵在1936年提出的。]]></description><category></category></item><item><title><![CDATA[软件之禅（五）Input 出场]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/131164515</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/131164515</guid><author>acloudhuang</author><pubDate>Mon, 12 Jun 2023 11:03:59 +0800</pubDate><description><![CDATA[过程有些复杂，为什么简单的一个赋值需要绕这么大的弯子？答案是，这三个基类 Ouput、Input 和 Data 可以在不必知道派生类的情况下进行交互。Ouput、Input 和 Data 以及后续基本类本质上是桥接模式（bridge pattern），在我看来，所有架构都可以看做桥接模式或桥接模式的变体。这篇文章我们引入新的概念，即输入（Input）。同样我们也需要做个设计，封装后续的变化。AfcQtEdit 既是 Output 也是 Input，故需要同时继承 Output 和 Input。]]></description><category></category></item><item><title><![CDATA[软件之禅（四）用观察者模式连接 Data 和 Output]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/131135989</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/131135989</guid><author>acloudhuang</author><pubDate>Fri, 09 Jun 2023 23:09:48 +0800</pubDate><description><![CDATA[所以，这个字符串观察类应该从 Output 继承。下面是类图，图中 AfcQtEdit 是观察类，DataString 是字符串主题类。正如上面提到的，这样的设计达到了解耦的目的。后续主题和显示是独立发展的。比如，Output 可以增加对 MFC 甚至浏览器的支持，而 Data 无需进行任何修改。为了将 Data 和 Ouput 解耦，我们这里的 Data 和 Ouput 是使用观察者模式来交互。Data 是主题，Ouput 是观察者。在QT 的对话框中添加如下代码。黄国强 2023/06/09。]]></description><category></category></item><item><title><![CDATA[软件之禅（三） 0,1,n]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/131004285</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/131004285</guid><author>acloudhuang</author><pubDate>Fri, 02 Jun 2023 12:03:02 +0800</pubDate><description><![CDATA[我们认为，事物分三种情形，分别是不存在、存在一个和无数个。
用面向对象来描述，即为空对象（Null Object）模式，单例（Singleton）模式和组合（Composite）模式。]]></description><category></category></item><item><title><![CDATA[git 提交类型（type）（转）]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/130971859</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/130971859</guid><author>acloudhuang</author><pubDate>Wed, 31 May 2023 16:28:40 +0800</pubDate><description><![CDATA[revert: 恢复（Revert a commit），是把这次提交的修改给还原。. git: 添加或修改． gitignore 文件[不可见]. publish: 发布新版本[新版本]. Chore: 构建过程或辅助工具的变动。. cl: 对 CI 配皿文件和脚本的更改。. config: 修改配置文件（配置）. docs: 添加 l 更新文档。. tag: 发布版本/添加标签。. format: 格式化代码。. patch: 添加重要补丁。. feat: 引入新功能．。. file: 添加文件。]]></description><category></category></item><item><title><![CDATA[软件之禅（二）数据类和输出类]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/130842350</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/130842350</guid><author>acloudhuang</author><pubDate>Wed, 24 May 2023 10:59:43 +0800</pubDate><description><![CDATA[“架构反映需求，设计封装变化”。继续前文说到 switch 存在的问题。这里 switch 就是提醒你这里是个变化点，需要用面向对象的方法做个设计。]]></description><category></category></item><item><title><![CDATA[软件之禅（一）Hello,World!]]></title><link>https://blog.youkuaiyun.com/acloudhuang/article/details/130761426</link><guid>https://blog.youkuaiyun.com/acloudhuang/article/details/130761426</guid><author>acloudhuang</author><pubDate>Fri, 19 May 2023 10:52:18 +0800</pubDate><description><![CDATA[这段代码问题很大的，这种 switch 里面套 swtich 的代码最大的问题是无法维护。我们先从输出开始分析，输出有很多形式，比如，显示器，打印机，磁盘，扬声器，网络等等。这个原理因为马斯克而广为所知，马斯克对于事物的认知远高于常人，这和他经常用“第一性原理”分析事物分不开的。个人打算写一个系列文章，试图用第一性原理来把我自己掌握的知识梳理一遍，看看是否能更深入的认识软件的本质。" 是内部字符串数据。而数据也有很多形式，比如，上面的是字符串，还有整形数，浮点数，图像等等。黄国强 2023/5/19。]]></description><category></category></item></channel></rss>