自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (33)
  • 问答 (1)
  • 收藏
  • 关注

原创 最简设计模式

更开始学刚开始学习设计模式的时候,感觉很兴奋,这东西太好了。困惑当时学完后,不知道如何用。甚至自己用过了也不知道自己用过了。于是我想:学这东西到底有什么用呢,到底如何才算学会呢?领悟后来我明白了,其实设计模式只是面上对象应用的一些典型案例,模式的价值在于对面向对象属性的巧妙运用,如果你找到了每一种模式的巧妙之处,即每种模式都什么用的面向对象特性(继承,重载,多态)。建议其实如果想学...

2019-02-20 09:22:49 637

原创 迭代器模式简单实现

迭代器模式:提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示。这模式好多语言都已经变成类库了,这里我就不实现了,一般list都带一个迭代器。...

2019-02-27 15:13:24 849

原创 中介模式简单实现

中介者模式:就是对象间的访问通过中介者完成,也是加了一个中间层的模式。(与外观模式和代理模式可以对比学习,因为都是加了个中间层)价值吗?看下面的图就明白了,把对象间的关系都转变成对象和中介者(Mediator)的关系。先就说这些,我会再结合其他模式做一次对比分析,先抓住该模式的要点,一会在深入学习的时候就不会觉得空,任何新知识的补充都有地方可粘,要不然很容易出现学时候视乎明白了,过后又都忘记了...

2019-02-27 12:53:16 198

原创 代理模式简单实现

代理模式:就是用一个代理对象,来接请求,说白了就是加个中间层。价值:加个中间层有什么价值,该模式就有啥价值。你一定用过中间层把,那么你一定已经用过该模式了。中间层的价值:1.分散复杂度,2.隔离权限。。。。代码(c++)#include using namespace std;#include // 抽象层class Subject{public:virtual void R...

2019-02-27 10:25:01 360

原创 外观模式简单实现

外观模式:这个应该是一个架构模式,把一个模块的外部接口用一个外部类提供出去,对外部来说只有这个类(Facade)是可以访问的。代码(c++)#include using namespace std;#include // 抽象层class IFacade{public:virtual void funA()=0;virtual void funB()=0;virtual vo...

2019-02-27 10:00:08 376

原创 适配器模式简单实现

对象适配器类适配器适配模式:就解决调用接口(Request)和被调用接口(SpecificRequest)不匹配的问题,加一个适配器(Adapter)解决。代码(c++,对象适配器):#include using namespace std;#include // 抽象层class Target{public:virtual void Request()=0;};// ...

2019-02-27 09:36:15 369

原创 原型模式简单实现

原型模式:就是用拷贝的方式创建一个新的对象。模式价值:这个不太好说,我也没找到一个合适的例子来解释他的价值,如果真的有合适的需求这样做,那么你就知道他的价值了。现在你只需要知道拷贝一个新对象和创建一个新对象的差别就行了。(现在是学这个模式的第一阶段,知道这个模式的特点就行了)上代码:#include using namespace std;#include // 抽象层class ...

2019-02-27 08:38:43 606

原创 几种设计模式的对比分析

发上这个图是因为这个图是我学习过程中的一个产物,在我分析各种模式的相同点和不同点做的总结,用语言我说多了,把把您给说蒙了,但是当我能把模式用这张图表达出来的时候,我可以很自信的给出任何代码中那里用了什么模式,为什么说用了这种模式。对比总结是一种学习设计模式的一种好的方法,把某种模式中最重要的特性找出来,绝对是最快的学习方法。最少,最重要的。面向对象是设计模的关键,如果没有面向对象就没有设计模...

2019-02-26 14:25:38 906

原创 观察者模式简单实现-代码2

我这里实现了一对多的代码:个人意见:无论是一对多还是一对一,给模式的价值在于,被观察对象变化,可以自动的通知观察者,我这种状态关系编程一种稳定的依赖,两个对象间形成了一种稳定的依赖,那么实际上是降低了耦合度。这有点难理解:说得直白点就是,两个对象无论在发生什么样的变化,都不需要考虑对两个依赖的影响,他们俩的灵活性并未因这个稳定的依赖而降低。#include #include #inclu...

2019-02-26 13:21:19 930

原创 观察者模式简单实现

观察者模式:观察者(Observer)关心被观察者(Subject)的某个状态(subjectState),一旦状态变化,观察者就能收到通知(Notify),并更新自己的状态(observerState)。动机:在软件构建 过程中,我们需要为某些对象建立一种“通知依赖关系” 一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好...

2019-02-25 16:19:05 4044

原创 访问者模式简单实现

这个是一个复杂的模式,个人认为是设计中最复杂的模式。关于该模式我还会做如下1.其他模式做很多的对比分析(和观察者,和桥接)。2.从面相对象角度分析这个模式(这是一个把多态的特性用到极至的模式)不多说了:访问者模式:1.定义一个访问者(Visitor),在访问者内定义如下函数(VisitorConcreteElement(X)),该函数有一个输入参数(被访问者)该函数会根据访问者不同,执行...

2019-02-25 10:22:34 2688 2

原创 享元模式简单实现

享元模式:解:就是第一个创建的对象,后再次需要使用该对象时,就不需要创建了,直接只用就可以了。我的理解:批量的单实例。这个模式的价值分析起来比较复杂,我就不做太多说明了,我的原则是,你如果真的凭你的项目经验能够深刻的理解这种模式的价值,那么你就能很快的理解,如果不是这样我这里讲再多,你理解起来仍然不是很清楚,很可能会另你更糊涂。(我期初看了很多文章,都是这感觉)如下是抄袭来的(有兴趣的就看...

2019-02-25 09:35:03 380

原创 人工智能 创造力 模糊

人工智能,是啥,科幻世界真的离我们越来越近了。说的人工智能,就不能说学习,说机器学习,那么机器为什么能够学习呢。那么什么意义算是机器学习呢,最起码是有一定成创造的,也就是会产生新的知识(这叫知识可能不太准确)。比如根据大量的已知数据,推断出一个位置可能要发生的结果,这就是我刚才说我的知识。这知识不一定是准确的,但是是发生几率最大的。我很早就相关,智慧的本质到底是什么?我怎么也想不出,人是...

2019-02-22 10:06:42 5031

原创 策略、状态、职责链、共同点和差异分析

总结:他们的共同特点就是将一个请求多态,差别就在于多态对象的切换不同1.策略有调用者选择策略这个相对简答2.状态模式呢是在执行的过程中要完成状态迁移3.职责链是永远有一个对象先接请求,处理不了就向后传递...

2019-02-22 08:27:16 282

原创 状态模式简单实现

状态模式:把一个不同状态有不同处理的逻辑,变成了如下处理流程。1.将某状态设为当前状态2.有当前状态执行某机能3.处理结束后设置状态(当前状态变更)#include #include using namespace std;// 抽象层class Context;class State{public:virtual void Handle(Context* c)=0;};...

2019-02-21 15:25:08 892

原创 策略模式简单实现

策略模式:就是有一个策略类,他有一个算法函数(AlgorithmInterface)可多态。他可供context选择(context调用他的算法函数(AlgorithmInterface)),代码(c++)#include using namespace std;#include // 抽象层class Strategy{public:virtual void Algorith...

2019-02-21 10:33:24 613

原创 职责连模式简单实现

职责链:就是处理问题的类有一个处理问题的级别,问题(函数调用)都先发给低级别的类,如果解决不了,就向上级类传递。代码(c++)#include #include using namespace std;//////////////////////////////////////////////////////////////////////////// ----------------...

2019-02-21 09:29:39 265

原创 命令模式最简单实现

命令模式:把一系列的函数,编程命令具体解释:把一系列的函数,用类封装起来,使用的时候通过调用,封装函数的类在调用函数,这样做有如何好处:好处(价值):函数可以被装载,使对该函数的调用更灵活。下面是代码(c++):#include #include using namespace std;// 抽象层class Invoker{public:int m_a;int m_b;...

2019-02-21 09:15:28 398

原创 模板模式简单实现

模板模式:在一个函数中调用一组抽象函数,这组抽象函数在子类中实现。价值就是:通过子类的实现使一个函数(TemplateMethod)的机能丰富。个人观点:这个模式其实就是一种最常用的面向对象手段,无论你是否学过设计模式,相信您一定用过,并且您如果看到过其他的模式,一定在其他的模式中发现过,比如创建者模式中创建者(Builder)用到的一系列创建方法,就是一个模板模式的原型。如下代码(c++...

2019-02-21 08:40:17 353

原创 创建者模式最简单实现

作用:如果你够着的对象有如下要求,应该这个模式就对了1.new之后需要有一系列的构造过程(BuildPart1,BuildPart2…BuildPartN)2.这个过程的创建过程可以有多态的变化(Builder)#include using namespace std;#include // 抽象层class Product{public:string m_part1;str...

2019-02-20 16:46:57 458

原创 最简单的抽象工厂模式

建议:先看工厂方法模式价值:有一系列工厂方法可以加工不同的商品。具体解释:在某个类(AbstractFactory)有一系列工厂方法(CreateProductA/CreateProductB)。该系列函数有如下2个要点:1.该函数可多态(即:包含该函数的类是多态的)2.该函数的返回值是多态的(Product)如下c++代码实现#include using namespace st...

2019-02-20 15:00:09 194

原创 工厂方法模式最简实现

价值:有一个工厂方法可以加工不同的商品。具体解释:在某个类(Creator)的工厂方法(FactoryMethod)能被多态成加工不同产品的方法。(如果有这么样的一个方法存在,那么就是实现了该模式,这是该模式的唯一特性)该模式有如下两个要点:1.该函数可多态(即:包含该函数的类是多态的)2.该函数的返回值是多态的(Product)如下代码实现(为了体现多态性,我把ConcreteCre...

2019-02-20 13:45:24 226

原创 单件模式(在简单实现)

价值:保证只创建一个对象。如下是但示例模式的最简单实现:#include using namespace std;class A{public:};class B{public:A* a;B(){a = 0;}//如果你看得懂这函数,那么关于单实例的理解就够了//更丰富的情景,你都可以根据你的经历去体悟了A* getA(){if(0 == a){a = n...

2019-02-20 09:58:30 488

原创 最简单的装饰模式

特点:就是自己继承自己,在继承的过程中丰富自己。作用:1.通过继承丰富机能2.可以无限制的丰富机能(多维度的,与桥接相比桥接只有两个维度,这个模式和桥接相比就是可以桥接自己)https://download.csdn.net/download/xie__jin__cheng/10962740(这里由该模式的实践举例)https://download.csdn.net/download/xi...

2019-02-19 14:06:50 412

原创 最简单的桥接模式

目的:某个机能有两个维度的变化,那么把这个机能分别交给两个对象对负责,让他俩组合来完成任务。这样当构建丰富多彩的机能时,只需要更小的负责度就能实现。记录:这个模式其实本身是面向对象编程的基础,任何两个对象都可以发生桥接,那是不是发生了桥接就叫桥接模式呢。理论上这么说应该也没有问题,但桥接这么模式强调的时桥接后形成组合功能的丰富。https://download.csdn.net/my/upl...

2019-02-19 13:53:35 418

原创 先真正的放下,然后再次拥抱

这是一个思维模型。举例:遇到一次机会,真的很好。保守的人:坚持自己的,不变。(错过机会,然后后悔)善变的人:抓住机会,完成一次飞跃。遇到一次机会,不扎好。保守的人:坚持自己的,不变。善变的人:抓住机会,发现不怎么好。(错误选择,然后后悔)机会这东西无论多么睿智的人,都有可能做错误的选择。那么如何做一个相对更正确的选择呢。我们发现上面两种典型性格的人,面对机会的时候都有可能做错误的...

2019-02-19 10:19:37 100

原创 最简单的理解组合模式

价值:把简单对象(leaf)和组合对象(Composite)都当成一种对象使用,对于使用者不需要关心他使用的对象是个简单对象还是复杂对象,就一样:你用就是了,就用一种方式(Operation)取用,至于对象本身的差别有我来完成(多态).就这一句话,如果你不能理解,那么也请被浪费时间,找更合适的资料去看。(建议加强一下对面向对象知识的深刻理解)...

2019-02-19 09:46:41 393

原创 积累什么

1.有时候不了解原理,也能把事情做的更好,但如果了解了原理,才能使我们更放心,思路更清晰

2019-02-18 11:26:52 490

原创 JVM 工作原理和流程

今天学了一下JVM的工作原理。下面进行有错到细的论述1.第一层源码-字解码-虚拟机-真机执行吗2.第二层虚拟机模拟真机的运行过程,他调用真机的接口。对于java语言来讲,你就当做虚拟机在执行你的代码。那么从真机的角度是啥情况呢,他认为两个软件在运行,一个是虚拟机,一个是java程序。?那又不对了,真机不运行java程序,他只运行虚拟机,啊那就是如下这个过程字节码-虚拟机-真机-硬件...

2019-02-01 10:41:44 701 4

WindowsFormsApp11.zip

c#-System.Windows.Forms.Time-简单实验

2021-02-24

WindowsProject1.zip

c++窗体实验

2021-02-06

vs2019 dll使用

vs 2019 c++ dll使用实践

2021-01-19

JFreeChart

JFreeChart 使用的库,包括:jcommon-1.0.18.jar、jfreechart-1.0.15-swt.jar、jfreechart-1.0.16.jar、jfreechart-1.0.16-experimental.jar

2020-10-21

webpack-使用webpack-dev-middleware.rar

使用webpack-dev-middleware:最简单使用webpack-dev-middleware,避免被其他是技术干扰,迅速的理解原理。

2020-04-12

webpack-使用webpack-dev-server.rar

webpack-dev-server 为你提供了一个简单的 web 服务器,并且能够实时重新加载。这里用一个最简单的例子,让大家迅速的了解原理,避免被其他的附加技术干扰。

2020-04-12

webpack-使用配置文件.rar

webpack-使用配置文件:使用配置文件生成前端代码,最简单的配置文件应用实例。其中将引用的models文件夹删除了

2020-04-11

MEF-简单例子.rar

MEF-简单例子:最简单的一个MEF实验的例子。接口+实现+客户端

2019-11-04

Dagger2Test.rar

Dagger2最简单的实验,相当于helloword,最简单的一个类的构建。包括:1.环境创建。2..创建实例化的类。3.创建module类.4.Component接口.5在Activity注入

2019-05-21

MVVMtest.rar

mvvm 在android上的简单实践,使用dataBinding完成,简单数据绑定和事件响应的绑定更新

2019-05-16

状态模式简单实现

最简单的装模式实现,因为状态模式是一个比较复杂的模式,如果真的用一个需求去套用这个模式,会导致你看不到模式本身的特点是什么了,所以我实现了一个最简单模型。

2019-02-22

最简单的简单享元模式

最简单的享元模式实现,只代码,无需求,纯粹的模式特点

2019-02-19

最简单的装饰模式

最简单的装饰模式实现,在学习的过程种不需要理解复杂的需求,只需理解该模式的特性。

2019-02-19

最简单的实现组合模式

最简单的组合模式实现,最能体现模式本身的特性,最少对需求理解的依赖

2019-02-19

命令模式最简单实现

命令模式,最简单的实现命令模式,没有对需求的负责理解,只针对模式本身。最纯粹的体现命令模式的特点

2019-02-19

观察者模式

观察者模式,多种实现方式,深刻理解观察者模式的特点

2019-02-18

桥接模式源码

桥接模式模拟,源代码,多种对比方式,桥接模式简单实现

2019-02-18

设计模式对比分析

最简单理解设计模式,个模式特征对比分析,分析模式的特性和差别

2019-02-18

最简单的理解设计模式

最简单的理解设计模式,设计模式对比学习,设计模式特性分析

2019-02-18

创建一个矩形,矩形下面有一个图片,指定矩形区域裁切图片

/* **需求:创建一个矩形,矩形下面有一个图片,指定矩形区域裁切图片 **要求:1矩形区域可以拆分 **设计:设计一个图层,一个发图片,一个放矩形 **通过拆分矩形增加矩形数量,通过缩放矩形选择裁切区域 */

2024-07-27

创建一个矩形,当鼠标进入这个矩形的时候,这个矩形边线变色,且鼠标变成手型,且这时候按下鼠标,鼠标可以上下拖动这个矩形

qt 6.7版, 创建一个矩形,当鼠标进入这个矩形的时候,这个矩形边线变色,且鼠标变成手型,且这时候按下鼠标,鼠标可以上下拖动这个矩形,当鼠标松开的时候停止移动,但鼠标离开矩形的时候,矩形颜色恢复,完整代码举例;强调一下,鼠标进入矩形内,颜色变化,鼠标变成手型,不是鼠标进入矩形所在的控件就有上述变化。

2024-07-27

一个qtlog输出的工程,会按照分钟的频率输出log

一个qtlog输出的工程,会按照分钟的频率输出log

2024-07-27

qt 滚动区域添加图片简单实验

qt 滚动区域实验,文本滚动、横向滚动、纵向滚动、图片滚动

2024-07-03

dataGridView实验

有些时候,你实验gridview可能会很麻烦,不如你用一个指定要的控件更方便。

2022-12-14

定周期清除一个命令 时间函数测试.rar

定周期清除一个命令,使用定时器

2021-12-18

配置文件在动态连接库的使用.rar

在动态连接库中使用配置文件

2021-08-08

配置文件读取实验.rar

c# 配置文件的读取实验,最简单的使用,最容易的使用

2021-08-08

mfc弹窗实验.rar

mfc弹窗实验的源工程,是用vc++6.0.

2021-07-07

ON_MESSAGE 实验vs版本.rar

ON_MESSAGE vc++6.0 升级到visual studio

2021-06-27

mfctest.rar

ON_MESSAGE 实验

2021-06-27

筛选器+自定义文件夹实验.rar

为了管理项目中的文件,使用了筛选器管理工程的文件,使用文件夹管理物理结构的文件

2021-06-26

c++ mfc 筛选器使用.rar

c++ mfc 筛选器的使用

2021-06-26

C#调用c++ dll.rar

c# 调用c++ 的简单实验

2021-06-08

用dll承载webService-2.rar

用dll承载webService,承载webservice的变化

2021-05-11

file_fprintf.rar

file_fprintf

2021-05-07

CFileTest.rar

CFile+CArchive 简单应用试验

2021-05-07

CreateFileTest.rar

c++ mfc 用文件做持久化内存

2021-05-05

ON_MESSAGE_test.rar

ON_MESSAGE()实验

2021-05-05

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

TA关注的人

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