设计模式
aFakeProgramer
Adaptive AUTOSAR的技术专家,AUTOSAR中国官方培训讲师,具备深厚的汽车行业知识和以太网通信技能。SOME/IP、IPC、DDS、DoIP、UDS、TSN和SOA架构,MQTT,加密,操作系统,v2x,以及c++和Python编程语言。改写成个人简介
展开
-
浅谈单例模式 又叫对象性能模式
对象性能模式面向对象很好地解决抽象的问题,但是必不可免地要付出一些代价,对于通常情况来讲,面向对象的成本大都可以忽略不计,但是某些情况,面向对象所带来的的成本必须谨慎处理。经典模式Singletion怎么样利用面向对象技术实现一些松耦合的设计。面向对象需要付出一些代价比如说抽象会有虚函数,内存的消耗。使用动机:在软件系统中,经常有一些特殊的类,必须保证他们在系统中只存在一个实例,才能确保他们的逻辑正确性、以及良好的效率。如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?这应该是是原创 2020-06-05 14:29:54 · 165 阅读 · 0 评论 -
设计模式学习笔记
变化是复用的天敌!面向对象设计最大的优势在于:抵御变化重新认识面向对象:理解格力变化:从宏观层面来看,面向对象的构建方式更能适应软件的变化,能将变化所带来的影响减为最小。 各司其职:从微观层面来看,面向对象的方式更强调各个类的责任,由于需求变化导致的新增类型不应该影响原来类型的实现——所谓各司其职对象是什么?从语言实现层面来看,对象封装了代码和数据 从规格层面讲,对象是一系列可被使用的公共接口 从概念层面讲,对象是某种拥有责任的抽象。依赖倒置原则高层模块(稳定)不应该依赖于底层模块原创 2020-05-28 10:07:36 · 108 阅读 · 0 评论 -
分治法,迭代与动态规划及贪心算法感悟
分治法,动态规划法,贪心算法这三者之间有类似之处,比如都需要将问题划分为一个个子问题,然后通过解决这些子问题来解决最终问题。但其实这三者之间的区别还是蛮大的。1.分治法 分治法(divide-and-conquer):将原问题划分成n个规模较小而结构与原问题相似的子问题;递归地解决这些子问题,然后再合并其结果,就得到原问题的解。 分治模式在每一层递归上都有三个步骤:...转载 2020-03-10 14:01:44 · 803 阅读 · 0 评论 -
设计模式 开闭原则:对扩展开发,对修改关闭,增加功能是通过增加代码实现,而不是去修改源代码
开闭原则:对扩展开发,对修改关闭,增加功能是通过增加代码实现,而不是去修改源代码class Caculaor{ public: Caculaor(int a,int b,string operator) { this->m_a; this->m_b; this->m_operator=operator; ...原创 2019-11-07 11:35:14 · 474 阅读 · 0 评论 -
工厂设计模式(三种)详解
https://www.jianshu.com/p/38493eb4ffbd什么是工厂设计模式?工厂设计模式,顾名思义,就是用来生产对象的,在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如我们要更换对象,所有new对象的地方都需要修改一遍,这显然违背了软件设计的开闭原则,如果我们使用工厂来生产对象,我们就只和工厂打交道就可以了,彻底和对...转载 2019-04-01 11:00:42 · 229 阅读 · 0 评论