
软件开发
习惯沉淀,
又惘又怠,既稚且拙
展开
-
[软件开发]C++设计模式_组件协作模式_Template Method 模板方法
一、23种设计模式的分类方法:1、从目的角度分为创建型模式、结构型模式、行为型模式;2、从范围角度分为类模式(继承方案)和对象模式(组合方案)二、好的面向对象设计:应对变化,提高复用三、重构的关键技术法则四、组件协作模式包括:Template Method, Stratety, Observer / Event(模板方法,策略模式,事件模式)五、模板方法1、动机(发...原创 2019-03-04 21:52:02 · 265 阅读 · 0 评论 -
[软件开发]C++设计模式_对象创建模式_工厂方法模式
一、创建对象,new的声明是接口,然而new方法仍然依赖具体类对象/* 面向接口编程 */FileSplitter* splitter = new Filesplitter(paras);splitter->split();class FileSplitter{public: virtual void split() = 0; //纯虚函数 virtual ...原创 2019-03-04 23:31:04 · 119 阅读 · 0 评论 -
[软件开发]VS2017报错:LNK2005: 已经在 LIBCMT.lib(new.obj) 中定义
今天在用visual studio调试软件的过程中又遇到了这个问题:LNK2005: 已经在 LIBCMT.lib(new.obj) 中定义报错的表面原因在于,将一些简单的函数实现放在了h文件中而没有放到独立的cpp文件。经过查阅资料和反思后得知其深层原因:C++文件在编译的时候,编译器会把每一个cpp文件作为一个独立的编译单元,所以在编译一个项目中的不同的cpp文件时,编译器会多次启...原创 2019-03-05 20:59:38 · 1464 阅读 · 0 评论 -
[软件开发]C++设计模式_基本概念、分解、抽象
一、学习目标理解松耦合设计思想 掌握面向对象设计原则 掌握重构方法改善设计 掌握GOF核心设计模式二、引言学习设计模式的目标是可复用 架构模式、数据库模式等等 自学这门课程,名为设计模式 将数据load到memory中,涉及内存模型 面向对象包括底层思维和抽象思维 抽象思维,包含面向对象、组件封装、设计模式、架构模式,目的是管理代码复杂度 面向对象,向下深入理解三大面向...原创 2019-03-04 19:20:23 · 528 阅读 · 0 评论 -
[软件开发]C++设计模式_面向对象八大设计原则
一、对象是什么语言层面,对象封装了代码和数据 规格层面,对象是一系列可以被使用的公共接口 概念层面,对象是拥有某种责任的抽象二、面向对象的八大设计原则1、 依赖倒置原则(DIP):高层模块不依赖于底层模块(变化),二者都应该依赖于抽象;抽象不应该依赖实现细节,实现细节应该依赖于抽象1、MainForm--依赖于--Line & Rect 这不稳定2、Mai...原创 2019-03-04 20:08:16 · 508 阅读 · 0 评论 -
[软件开发] 编码规范
编码规范1.Google 开源项目风格指南 (中文版)C++ 风格指南Objective-C 风格指南Python 风格指南Shell 风格指南2.Google 的 C++ 代码规范原创 2019-03-25 22:28:59 · 1760 阅读 · 0 评论 -
[软件开发]visua studio 报错 C4996'localtime': This function or variable may be unsafe
解决方法:在报错的文件中添加#pragma warning(disable:4996)其他解决方法:‘localtime’: This function or variable may be unsafe. Consider using localtime_s instead.解决VS2013中出现类似于error C4996: ‘scanf’: This function or v...原创 2019-03-25 23:39:41 · 9295 阅读 · 0 评论