自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sincky的博客

这个人没什么描述~

  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 设计模式之访问者模式实例(c++)

访问者模式表示一个作用于某对象结构中的各元素的操作,它使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式包含Visitor(抽象访问者)、ConcreteVisitor(具体访问者)、Element(抽象元素)、ConcreteElement(具体元素)和ObjectStructure(对象结构)。访问者模式实例之购物车从类图可知,BuyBasket(购...

2019-06-13 21:40:29 1529

原创 设计模式之模板方法模式实例(c++)

模板方法模式定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式包含AbstractClass(抽象类)和ConcreteClass(具体类、具体方法或者是钩子方法)模板方法模式实例之银行业务办理流程从类图可知,结构比较简单,process函数为模板方法,为一个顶级逻辑的骨架,里面包含各种操作方...

2019-06-13 20:43:30 534

原创 设计模式之策略模式实例(c++)

策略模式定义一系列算法,将每个算法封装起来,并让它们可以互相替换。策略模式可以让算法独立于使用它的客户而变化,也成为政策模式。策略模式包含Context(环境类)、Strategy(抽象策略类)和ConcreteStrategy(具体策略类)。策略模式实例之排序策略由类图可知,ArrayHandler(数组处理类、环境类)聚合某些(或者依赖注入某个)具体的Sort(具体策略类)...

2019-06-13 19:45:45 639

原创 设计模式之状态模式实例(c++)

状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。其别名为状态对象。状态模式一般包含Context(环境类)、State(抽象状态类)和ConcreteState(具体状态类)。状态模式实例之论坛用户等级从类图可知,ForumnAccount(论坛账户类)互相关联AbstractState(抽象状态类),账户类的downloadFile、writ...

2019-06-13 17:59:32 1397

原创 设计模式之观察者模式实例(c++)

观察者模式定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆可得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish-Subscribe)模式、模型-视图(Model-View)模式、源-监听器(Source-Listener)模式。观察者模式实例之猫、狗与老鼠从类图可知, MySubject需要保存(关联)MyObserver的对象,当...

2019-06-12 22:53:44 1921 2

原创 设计模式之备忘录模式实例(c++)

备忘录模式在不破坏封装的前提下,捕获一个对象的内部装,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。备忘录模式一般包含Originator(原发器)、Memento(备忘录)、Caretaker(负责人)。负责人用来管理备忘录。备忘录模式实例之用户信息操作撤销从类图可知UserInfoDTO依赖注入Memento来进行创建备份,交给Caretaker管理...

2019-06-12 16:12:48 465

原创 设计模式之中介者模式实例(c++)

中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地互相引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称调停者模式。中介者模式实例之虚拟聊天室从类图可知, Member关联了ChatRoom,当member发送消息时,需要经过Chatroom中介者的处理和转发到指定的member中。整体结构比较简单。下面是c++版本的实现。抽象...

2019-06-12 15:05:27 709

原创 设计模式之迭代器模式实例(c++)

迭代器模式迭代器提供一种方法来访问聚合对象,而不用暴露这个对象的内部表示,其别名为游标。迭代器模式一般包含Iterator(抽象迭代器)、Conretelterator(具体迭代器)、Aggregate(抽象聚合类)和ConcreteAggregate(具体聚合类)。迭代器模式实例之电视机遥控器由类图可以看出,具体Tevelvison类依赖注入具体迭代器,在createiter...

2019-06-11 21:18:00 797

原创 设计模式之解析器模式实例(c++)

解析器模式解析器模式定义语言的文法,并且建立一个解析器来解释该语言(规定格式和语法的代码)中的句子。它包含抽象表达式,终结符表达式,非终结符表达式,Context环境类。解析器模式实例之数学运算解析器Calculator类关联了一个抽象Node类,Node类比较复杂,需要通过Calculator中的build函数进行构建,Node类的构建是通过栈来进行联系的,通过栈可以维护比较复杂...

2019-06-03 21:53:04 566

原创 设计模式之命令模式实例(c++)

命令模式将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。它包含请求的发送者、接收者、命令三个部分。命令模式实例之电视机遥控器从类图可知,Controller类(发送者)聚合多个命令类,然后通过抽象多态的方式,调用execute来调用具体命令类,从而实现对命令类关联的Television(接收者)的不同控制。...

2019-06-03 15:17:30 649

原创 设计模式之职责链模式实例(c++)

职责链模式职责链模式避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式实例之审批假条从类图可知,Direcor、Manager、GeneralManager泛化继承并实现了Leader的handleRequest接口,当具体处理者无法处理请求的时候,会传递给下家successor(上级)来...

2019-05-27 23:11:08 497

原创 设计模式之代理模式实例(c++)

代理模式代理模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式实例之论坛权限控制代理由类图可知,代理类Proxy关联了真实对象类,并由代理类控制访问的权限。下面是c++版本的实现抽象主题角色AbstractPermission//抽象主题角色AbstractPermissionclass AbstractPermission{public:...

2019-05-21 19:15:10 695

原创 设计模式之享元模式实例(c++)

享元模式享元模式运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象,而这些对象都很相似,状态变化很小,可以实现对象的多次复用。享元模式实例之共享网络设备(无外部状态)很多网络设备都是支持共享的,比如交换机和集线器等,多台计算机终端可以连接同一台网络设备,并通过该网络设备进行数据转发。如类图可知,设备工厂的ArrayList存储着网络设备唯一实例,并可由其他终端共享...

2019-05-21 18:53:31 1238

原创 设计模式之外观模式实例(c++)

外观模式:外观模式为子系统中的一组接口提供一个统一的入口。其定义了一个高层的接口,这个接口使得这一子系统更加容易使用。在外观模式中,外部与一个或者多个子系统的通信,可以通过一个统一的外观对象来进行。外观模式实例之电源总开关:从类图我们可以看出,GSF类里面关联了lights、fan、ac、tv,并通过on()、off()来实现对他们的统一管理(进行打开和关闭)。子系统类Li...

2019-05-14 20:33:13 1038

原创 设计模式之装饰器模式实例(c++)

装饰器模式:装饰器模式动态地给一个对象增加一些额外的职责,就增加对象功能来说,装饰器模式比生成子类实现更为灵活。装饰器模式实例之变形金刚:从类图可以看出,Changer和Car都实现了Transform的move接口,且Changer有个transform的依赖注入,是用来指向Car的,从而装饰Car。这次实例和以后的实例将会采用智能指针的形式,就不用自己去释放内存了...

2019-05-14 20:04:43 509

原创 设计模式之组合模式实例(c++)

组合模式:组合多个对象形成树形结构以表示“部分-整体”的结构层次。组合模式对单个对象(叶子对象)和组合对象(容器对象)的使用具有一致性。我们比较常见的文件夹和文件目录系统就是这种模式。组合模式实例之水果盘:抽象构建类MyElement:class MyElement{public: virtual void eat() = 0;}; 叶子构件类Apple:...

2019-04-22 20:45:44 1095

原创 设计模式之桥接模式实例(c++)

桥接模式:桥接模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称柄体模式或者接口模式。桥接模式实例之模拟毛笔:模拟毛笔类图:实现类接口Color(颜色类) ://实现类接口Color(颜色类)class Color{public: virtual void bepaint(string penType,string name) =...

2019-04-22 20:16:31 866

原创 Raw Socket之SYN Flood攻击(C++)

前言:在复习tcp三次握手的时候,了解到tcp协议有些缺陷,存在一些安全漏洞,比如说SYN攻击,就对此颇有兴趣,就打算用raw socket实现一下,同时也记下一些踩过的坑。本博客所有代码仅供学习交流使用,请勿用于其他用途。内容:实验环境:linux在写Raw Socket的SYN攻击之前,需要了解下为什么会存在这个攻击~TCP三次握手示意图在tcp的三次握手中,...

2019-04-19 18:32:27 2699 6

原创 设计模式之适配器模式实例(c++)

设配器模式:适配器模式包括类适配器和对象适配器,第一种是利用实现和泛化来实现,第二种是利用泛化和关联或者组合来实现适配器的。适配器类似于生活中的转换器,将原来不兼容接口和设备通过转换器来达到连接的效果。比如笔记本的电源适配器,将常见的插座接口,通过适配器来连接笔记本的电源口。设配器模式实例之仿生机器人(类适配器):仿生机器人类图:通过类图可以知道,DogAdapter继承D...

2019-04-15 21:24:16 1159 2

原创 设计模式之单例模式实例(c++)

单例模式实例之打印池:打印池类图:在操作系统中,打印池是一个用于管理打印任务的应用程序,通过打印池,用户可以删除、中止或者改变打印任务的优先级。在一个系统当中,往往只允许一个允许一个打印池对象,如果重复创建打印池,则抛出异常,现使用单例模式来模拟实现打印池的设计。在这节中,Java转C++需要注意几个点,类的静态变量需要在类外初始化,访问类的静态成员需要加类的作用域。还有一点是如果...

2019-04-08 23:04:07 819

原创 设计模式之原型模式实例(c++)

原型模式实例之邮件复制(浅克隆):邮件复制(浅克隆)类图:在原型模式结构中需要提供一个抽象原型类,java类都继承了java.lang.Object,也提供了clone()方法,但是在C++中没有这些特性,所以需要自己去实现一个抽象Object类和clone方法。又因为父类和子类大小不一样,使用clone的对象会有不同,为了适应C++,所以翻译过来的源码有所改动。抽象原型类 :...

2019-04-01 23:50:57 464

原创 引用参数如何设缺省值(默认值)(C++)

最近在C++封装redis的时候,遇到个引用形参如何缺省的问题,看了C++ prime木有讲,百度也没看到类似的情况。不过想起之前看过人家的代码有类似的情况。经过一顿骚操作后,成功了。不过有个前提条件就是缺省的引用形参必须是要const修饰,也就是说只能读取,不能修改。例子://测试类class A { public: int a = 3;};//函数声明void ...

2019-03-27 17:51:36 14970 3

原创 设计模式之建造者模式实例(c++)

建造者模式实例之KFCKFC套餐类图:在建造者模式中,客户端不必知道产品内部的组成细节,将产品本身与其创建过程解耦,使得相同的创建过程可以创建不同的产品对象。但一般适用于组成部分相似的产品。在此实例中,客户指出套餐种类,然后由Waiter提供做好的套餐(construct),此过程中,套餐的生产与提供隔离,客户不知道套餐是如何生产的,只负责接收,实现解耦。产品类Meal(套餐类...

2019-03-25 20:44:58 770

原创 设计模式之抽象工厂模式实例(c++)

抽象工厂模式实例之电器工厂:电器工厂类图:此节也用到了C++反射注册机制,可以参考上篇内容,是一样的。抽象工厂和工厂方法、简单工厂是有关系的。当抽象工厂中的每一个具体工厂类只生产一个产品对象的时候,也就是说产品族变成一种产品,这时候抽象工厂就退化成工厂方法模式;当工厂方法模式的抽象工厂和具体工厂合并的时候,也就是只有一个工厂生产的时候,并将生产的方法设为静态方法时,工厂方法模式...

2019-03-11 22:08:12 827

原创 设计模式之工厂方法模式实例(c++)

工厂方法模式实例之电视机工厂:电视机工厂类图:此节翻译有个难点,实例当中使用了java中的反射机制,而c++原生不支持,需要自己实现,所以参考了其他博客讲解的反射机制,实现了一个简单的反射头文件,相关反射知识将会在最后面讲解。抽象产品类TV(电视机类)://抽象产品类TV(电视机类) class TV{public: virtual void play() = 0;}...

2019-03-04 20:30:13 1364

原创 设计模式之简单工厂模式实例(c++)

简单工厂模式实例之简单电视机工厂:电视机工厂类图:从类图可知,TV作为一个抽象产品类,它可以是一个接口,也可以是一个抽象类,其中包含了所有产品都具有的业务方法play()。抽象产品类TV://c++没有Interface,所以用抽象类(纯虚类)来代替 class TV{public: virtual void play() = 0;};具体产品类HaierTV:...

2019-02-25 15:31:05 1150

原创 设计模式之开篇(c++)

随着面向对象技术的发展和广泛应用,设计模式不再是一个新兴的名词,它已逐步成为系统架构人员、设计人员、分析人员以及程序开发人员所需掌握的基本技能之一。设计模式已广泛应用于面向对象的设计和开发,成为面向对象领域的一个重要组成部分。——《设计模式》前言:开创这一系列的原因是因为《设计模式》(刘伟,清华大学出版社)中的实例是用java实现的,由于本弱钟爱c++,所以打算将java翻译为c++的...

2019-02-25 15:30:44 470 1

原创 定义前向传播模块 - inference

应要求,贴上inference模块供大家参考。里面的网络结构可以自己定义。分离inference模块,有利于程序的可读性和操作性。高内聚,低耦合?import tensorflow as tf# 定义神经网络结构相关的参数INPUT_NODE = 128*128OUTPUT_NODE = 62IMAGE_SIZE = 128NUM_CHANNELS = 1NUM_LA...

2018-12-30 16:38:50 5967 3

原创 np.roll()的理解和用法

numpy.roll()numpy.roll(a, shift, axis=None)函数解释:沿着给定轴滚动数组元素。超出最后位置的元素将会滚动到第一个位置。(将a,沿着axis的方向,滚动shift长度)参数:a : (array_like) 输入数组 shift : (int or tuple of ints) 滚动的长度。如果是提供元组的话,下面的轴参数的维度也...

2018-10-30 16:36:12 50404 2

原创 利用Tensorflow训练好的模型,来预测或识别单张图片

利用Tensorflow训练好的模型,图片进行预测和识别,并输出相应的标签和预测概率。如果想要多张图片,可以进行批次加载和预测,这里仅用单张图片进行演示。模型文件:预测图片:这里直接贴代码,都有注释,应该很好理解import tensorflow as tfimport inferenceimage_size = 128 # 输入层图片大小# 模型保存的路...

2018-10-24 20:13:20 25076 18

原创 利用文件夹分类图像来生成TFRecord格式文件

利用文件夹分类图像,来把我们所需要用到的图像数据集转成相应的TFRecord格式文件,以便我们后续的使用。文件夹的名字为标签名字,相应的文件夹里面存放此类标签的数据图像。文件夹格式如下:"0"-文件夹:img1.jpg img2.jpg img3.jpg ·····"1"-文件夹:img1.jpg img2.jpg ·····"2"-文件夹:img1.jpg...

2018-10-23 16:52:31 1251 2

原创 glob.glob()的一个坑

在学习到《Tensoflow:实战Google深度学习框架(第2版)》-第六章图像识别与卷积神经网络- 6.52.Tensorflow实现迁移学习的章节当中,遇到了一个预处理图像的一个坑。# 获取一个子目录中所有的图片文件extensions = ['jpg', 'jpeg','JPG','JPEG'] # 注意下这里 file_list = [] dir_...

2018-10-20 09:57:32 7904 2

简单分割线禁止关闭

简单分割线和禁止窗口关闭按钮

2013-01-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除