加载中
给大家推荐一个 Go 的配置加载框架

还在使用 Viper 么?今天给大家推荐一个更强大的配置加载框架 go-conf。之所以称为“框架”,是因为这个库不仅具备加载配置文件、获取配置属性等基础能力,还因为它实际上是一个分层的配置加...

给大家推荐一个日志脱敏库

今天给大家推荐一个日志脱敏库,这个库的性能极高,可以用于实时日志脱敏,而且不会对服务请求增加明显的耗时。 脱敏思路 这个库区别于传统的日志脱敏方案,不使用正则表达式,也不是漫无目的...

使用 Go-Spring 进行 Web 开发的 N 种范式

本文和大家探讨一下使用 Go-Spring 进行 Web 开发的几种范式。范式分为两个维度,一是 Http Server 如何创建,二是响应函数如何实现。 第一个维度可以分为单个全局 Http Server、单个自定义 ...

[Android]继承式UI界面布局设计

一般而言,Android界面布局使用聚合的方式比较多,这种方式要求首先构建一批能够复用的组件,然后在Activity的布局文件中进行聚合。尽管这种方式能够完成组件的复用,但如果这些组件在不同A...

如何设计一个优秀的(C/C++)类库?

引子 2015年3月24日上午10点,我给公司全体工程师发布了该周的技术研讨论主题——如何优雅的导出动态链接库的函数,并在主题的下方展示了我在这个问题上做出的成果——DynamicLib。(有兴趣的...

[C/C++]在宏的参数中使用函数指针

typedef是C/C++中用于为现有类型创建更有意义的别名的关键字。对于普通类型来说,类型在左,别名在右。 typedef int size; 如果函数指针的定义也符合这种样式,那么下面下这样定义才是合理...

[C/C++]如何给Lambda(匿名)函数命名?

C++11增加了Lambda(匿名)函数,在实际使用中发现对匿名函数命名是很有必要的(增强代码阅读性)。 本文介绍一种优雅的方法实现对匿名函数的命名。 我发现,任何增强代码阅读性而且又不违反...

[软件架构]模块化编程思想及(C++)实践

模块化思想 1. 将系统分成很多的模块,模块内部关注自身需要实现的核心业务。 2. 模块化的典型特点是:“模块间的低耦合”和“模块内的高聚合”。 模块的构成 1. 名称。全局范围内表明该模块...

c++
2014/10/11 09:54
7.9K
[软件架构]基于PluginRT的插件编程

我在前面的一篇文章《反向(或者后向)插件系统设计》中介绍了一种实现插件架构的方法,但是没有给出实现的方法。本文就来讲一讲如何基于PluginRT进行插件编程。PluginRT是前面提到的插件系统...

[开源世界]如何让C++的模板类支持多参数但同名?

在C++中,根据函数参数个数的不同区分函数重载再常见不过了。也就是说,向下面这样的函数重载在C++中是合法的。 int max(int a, int b) { return a>b?a:b; } int max(int a, int b, int c) {...

[架构设计]反向(或者后向)插件系统设计

反向(或者后向)插件系统与正向(或者前向)插件系统是一对概念相对的设计模式。正向插件系统是指系统架构的时候预先定义好一系列用于某种特定目的的函数族,然后通过共享库的形式封装不同的...

[软件结构]正向(或者前向)插件系统设计

郑重说明,正向(或者前向)插件系统和反向(或者后向)插件系统均为我个人杜撰出来的词汇,他们是一对概念上相对的设计模式。 —————————————————————————————...

构建简单的C++运行时反射类型系统

在《运行期构建C++类型系统》这篇文章中,我构建了一套简单的运行期C++类型系统,当时提到了它的应用场景有字符串映射到类型,本篇文章展示的是它的简单实现。 Metadata.h #ifndef METADATA_...

运行期构建C++类型系统

现代高级的面向对象语言(如Java、C#等)一般会提供一种称之为“反射”的特性,通过它可以动态的创建类型实例,将类型绑定到现有对象,或从现有对象中获取类型,还可以调用类型的方法及访问其...

[C/C++]属性的秘密——C++仿C#的属性实作(2)

[C/C++]属性的秘密——C++仿C#的属性实作 在上一篇文章中,我实现了C++的属性,但是总感觉哪里还是不对劲 ,嗯,对,是哪个this,属性初始化的时候VS会提示this在没初始化完毕就被使用,虽然...

[C/C++]属性的秘密——C++仿C#的属性实作

一直以来,我都想为C++引入C#里面定义的属性(Property),我尝试了几次: [C/C++]一个实现反射和事件绑定的例子 [C/C++]一个实现反射和事件绑定的例子 (增强版) [C/C++]模仿C#实作C++版属性...

[C/C++]完整揭秘VS2010关于function和bind的实现

很久之前我就对C++里面的function非常感兴趣,也探究出了一些成果。 [C/C++]std::tr1::function源码剖析(一) [C/C++]std::tr1::function源码剖析(二) 这两篇文章是对VS2010中如何实现fun...

[开源世界]增强版的动态链接库接口导出框架

参考: 从自动导出动态链接库接口看C++的缺点 更新内容: 1.封装了gDllImportList变量,删除了DllImportAttribute.cpp文件。 2.封装了User32类的全局变量,删除了User32.cpp文件。 更新后的框...

[开源世界]从自动导出动态链接库接口看C++的缺点

自动导出动态链接库接口在C++编程中绝对是一件烦人的事情,因为你不得不大量的重复以下几个步骤: 1.加载动态链接库 2.定义导出函数指针定义 3.定义导出函数指针变量 4.从动态链接库中导出函...

[开源世界]简单的线程库

C#的线程有thread、timer、dispatch、task等几种类型,而平时在C++工程中也常常会遇到这几种线程模型,我在思考C#是怎么实现的基础上实作了该线程库,希望能简化开发难度。 #ifndef __Easy_T...

没有更多内容

加载失败,请刷新页面

返回顶部
顶部