Share Mind

Love Reading | Film | Climbing | Snooker

前言


在公司上班时候,每周都需要写工作周报,而写周报的时候,每次的格式都差不多,有时候想偷懒,就想自己弄个周报的模板,然后每次填充模板的内容,这样既提高了工作效率,又保证了格式的一致性,上级领导每次浏览周报的时候也一目了然了,真是一石二鸟–),这种可以看成原型模式的应用,即每次周报对象内容都大概相同,仅需要复制粘贴,然后修改下每周的差异内容即可。

阅读全文 »

建造者模式


建造者模式又称为生成器模式,是一种对象创建型模式,它将客户端与包含多个组成部分或部件的复杂对象的创建过程解耦,客户端无需知道复杂对象的内部组成部分与装配方式,只需要知道所需建造者的类型即可。具体的建造者关注如何一步一步创建一个复杂对象,不同的具体创建者定义不同的创建过程,且它们之间相互独立,增加新的建造者非常方便,无需修改已有代码,系统扩展性好。

阅读全文 »

前言


上一篇简要介绍了OOD的设计原则及设计模式的基本概念,从本篇开始介绍包括创建型(5)&结构型(7)&行为型(11)总共23种基本的设计模式和简单的C++代码实现。本篇介绍工厂模式,包括以下三种模式:

  • 简单工厂模式
  • 工厂方法模式
  • 抽象工厂模式
阅读全文 »

面向对象设计原则


  1. 单一职责原则(SRO)
    每个类应该专注于做一件事情
    可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;提高类的可读性,提高系统的可维护性;变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。需要说明的一点是单一职责原则不只是面向对象编程思想所特有的,只要是模块化的程序设计,都适用单一职责原则
阅读全文 »

前言


在处理3D图像数据时候,由于图像数据量大,采用传统的CPU方式进行图像算法处理,速度和性能不能满足项目要求,需要借助并行计算的架构进行处理。现在比较流行的并行计算框架有cuda,opencl,openmp等等。cuda虽然没有opencl这样的异构编程模型通用,可以同时使用在cpu,gpu,fpga,dsp等硬件平台上,但是cuda相比于opencl等并行计算框架比较成熟,且资源也比较多,gpu硬件有多核处理的优势,因此cuda必然作为数据计算加速方案的第一选择。

阅读全文 »

前言


最近换了工作,博客很久没跟新了。新工作与原来的领域知识相差很多,变化比较大,所以需要了解的东西比较多。之前大部分情况都是使用VS或SourceInsight阅读写代码,由于最近需要频繁在Linux远程服务器上进行代码开发,同时Windows磁盘映射的速度很慢,为了提高生产力,因此尝试这使用Linux自带的文本编辑器VIM来进行代码编辑,下面简要介绍下对VIM的基本了解和使用。

阅读全文 »

Git简介


Git 是一个免费的、分布式版本控制工具,或是一个强调了速度快的源代码管理工具

阅读全文 »

Markdown列表嵌套

Markdown列表(包括有序和无序列表)嵌套,可以通过缩进4个空格或1个Tab来实现:

阅读全文 »

前言


Markdown 是一个从文本到HTML的转换工具,通过简单的易读易写的文本格式生成结构化的HTML文档,是一种用来写作的轻量级标记语言,它使得我们能够专心于码字,而用标记语法来代替常见的排版格式,Markdown可以支持导出HTML格式的网页形式,也可以很方便的导出PDF格式

阅读全文 »