聊聊Adapter模式

今天我们聊一个最简单的设计模式,适配器Adapter。跟以往一样,我们还是从一个例子出发。 一个例子最开始的结构假设我们有个数据分析软件,其中包含了数据收集器和数据分析器,数据收集器基于XML格式向数据分析器提供数据,有多种数据分析器,所以我们抽象出一个数据分析器的接口,用代码表示如下 class XMLData { } //数据格式 interface IDataConsumerXML //...

聊聊C#中的composite模式

写在前面Composite组合模式属于设计模式中比较热门的一个,相信大家对它一定不像对访问者模式那么陌生,毕竟谁又没有遇到过树形结构呢。不过所谓温故而知新,我们还是从一个例子出发,起底一下这个模式吧。 一个简单例子设想我们要建立一个公司的人事架构,在一个公司里,我们可以简单地分为两种员工,一种是经理(包括老板),另一种是基层员工,经理可以有下属,而普通员工不行,我们写出这样的代码。 基层员...

聊聊 C# 和 C++ 中的 泛型模板 底层玩法

最近在看 C++ 的方法和类模板,我就在想 C# 中也是有这个概念的,不过叫法不一样,人家叫模板,我们叫泛型,哈哈,有点意思,这一篇我们来聊聊它们底层是怎么玩的?一:C++ 中的模板玩法毕竟 C++ 是兼容 C 语言,而 C 是过程式的玩法,所以 C++ 就出现了两种模板类型,分别为:函数模板 和 类模板,下面简单分析一下。1. 函数模板的玩法玩之前先看看格式: template <typen...

微软外服工作札记②——聊聊微软的知识管理服务平台和一些编程风格

微软外服工作札记②聊聊微软的知识管理服务平台和一些编程风格前言近期,我参加了微软某部门的知识平台整合工作,正好把微软内部的各个知识管理平台的特点做一个整理,供大家参考。众所周知,知识管理服务平台其实对任何一家稍有规模的企业都是相当重要的,俗话说铁打的营盘流水的兵,在当今社会,除了在国企,任何一个人都不太可能在一家公司工作一辈子,对公司来说也是如此,你也不能指望员工能在公司里工作一辈子,很多时候因...

聊聊 内存模型与内存序

原文链接如下:https://mp.weixin.qq.com/s/t5_Up2YZEZt1NLbvgYz9FQ最近群里聊到了Memory Order相关知识,恰好自己对这块的理解是模糊的、无序的,所以借助本文,重新整理下相关知识。写在前面在真正了解Memory Model的作用之前,曾经简单地将Memory Order等同于mutex和atomic来进行线程间数据同步,或者用来限制线程间的...

聊聊 C# 方法重载的底层玩法

最近在看 C++ 的方法重载,我就在想 C# 中的重载底层是怎么玩的,很多朋友应该知道 C 是不支持重载的,比如下面的代码就会报错。 #include <stdio.h> int say() { return 1;}int say(int i) { return i;} int main(){ say(10); return 0;} 从错误信息看,它说 say 方法已经存在了,尴尬。。。一...

聊聊C#中的Visitor模式

写在前面Visitor模式在日常工作中出场比较少,如果统计大家不熟悉的模式,那么它榜上有名的可能性非常大。使用频率少,再加上很多文章提到Visitor模式都着重于它克服语言单分派的特点上面,而对何时应该使用这个模式及这个模式是怎么一点点演讲出来的提之甚少,造成很多人对这个模式有种雾里看花的感觉,今天跟着老胡,我们一起来一点点揭开它的面纱吧。 模式演进举个例子现在假设我们有一个简单的需求,需要...

聊聊并发编程的12种业务场景

前言并发编程是一项非常重要的技术,无论在面试,还是工作中出现的频率非常高。之前我发表的一篇《聊聊并发编程的10个坑》,在全网广受好评。说明了这类文章还是比较有价值的,接下来,打算继续聊聊并发编程这个话题。并发编程说白了就是多线程编程,但多线程一定比单线程效率更高?答:不一定,要看具体业务场景。毕竟如果使用了多线程,那么线程之间的竞争和抢占cpu资源,线程的上下文切换,也是相对来说比较耗时的操...

这次聊聊键盘

用什么键盘对于程序员是一件讲究的事情。今天就有朋友让我写写键盘,其实最让我印象深刻的键盘就是90年代朋友家里一台联想1+1电脑配的键盘,那个年代的键盘很多都是按起来有清脆的卡塔卡塔响的声音,手指能感到键帽下机械开关开合扣入的触感。现在想想,那就是最早的机械键盘,当时的老古董IBM系列电脑标配都是那个,那是一种厚重敦实的体感,这个键盘是一定能砸死人的,里面都是精钢啊。90年代去过银行的人都知道,柜员...

fir.im Weekly - 聊聊让人向往的远程开发工作

6月30 日,苹果开发者后台贴出一封关于广电总局的醒目通知,申报一个游戏 APP 上架AppStore,你需要文网文+ICP证+软著+版号,审批难度将越来越大,不禁让人感慨中国独立开发者的成长 “ 道阻且长 ”,更多可了解相关知乎问题.谈及独立开发者,除了生存问题引人关注外,他们可能多数是优秀的远程开发先行者。如果你也向往一份 Remote 开发工作,推荐一早一晚 远程开发社区和 @greatgho...
© 2022 LMLPHP 关于我们 联系我们 友情链接 耗时0.027409(s)
2022-07-06 05:30:47 1657056647