会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
夏小皮
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
3
4
5
6
7
8
下一页
2020年4月26日
C语言实现多态—模仿C++虚函数表
摘要: 在C++中,我们知道多态很大程度上依赖于虚函数,而虚函数的地址存放于虚函数表之中。运行期多态就是通过虚函数和虚函数表实现的。类的对象内部会有指向类内部的虚表地址的指针。通过这个指针调用虚函数。虚函数的调用会被编译器转换为对虚函数表的访问。虚函数表就像一个地图一样,指明了实际所应该调用的函数。如果一个
阅读全文
posted @ 2020-04-26 10:56 夏小皮
阅读(2448)
评论(0)
推荐(0)
2020年4月24日
门面模式-Facade
摘要: 门面模式,是指提供一个统一的接口去访问多个子系统的多个不同的接口,它为子系统中的一组接口提供一个统一的高层接口。使得子系统更容易使用。最核心的目的:简化子系统,简化客户使用,屏蔽多个子系统。 此外门面类不参与子系统的业务逻辑,只是提供访问一个子类的途径而已,否则会产生倒依赖 缺点:不符合开闭原则。所谓的开闭原则是软件工程里面一个最基本的原则:对扩展开放,对修改关闭。换句话说,你的系统...
阅读全文
posted @ 2020-04-24 15:11 夏小皮
阅读(164)
评论(0)
推荐(0)
2020年4月23日
Mysql无法启动问题解决
摘要: 声明: 现在的版本已不需要创建data文件,也不要创建 myini文件,mysql会自己配置,如果有问题,请先删除这两个文件!! 巨坑!! 1.知道密码的情况下,登录sql: MySQL版本5.7.6版本以前用户可以使用如下命令: mysql> SET PASSWORD = PASSWORD('新密
阅读全文
posted @ 2020-04-23 17:42 夏小皮
阅读(4429)
评论(0)
推荐(0)
2020年4月21日
C++之装饰模式
摘要: 装饰器模式(Decorator Pattern):允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 装饰者模式适用场景: (1)以动态的方式给对象添加职责。 (2)处理那些可以撤销的职责。 (3)当采用生成子类的方法进...
阅读全文
posted @ 2020-04-21 13:27 夏小皮
阅读(1876)
评论(0)
推荐(0)
C++之适配器模式
摘要: 定义:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能在一起工作的那些类可以一起工作。 客户端需要一个target(目标)接口,但是不能直接重用已经存在的adaptee(适配者)类,因为它的接口和target接口不一致,所以需要adapter(适配器)将adaptee转换为target接口。前提是target接口和已存在的适配者adaptee类所做的事情是相同或相...
阅读全文
posted @ 2020-04-21 13:24 夏小皮
阅读(520)
评论(0)
推荐(0)
状态模式-State Pattern
摘要: 状态模式: 在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。 意图:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类。 何时使用:代码中包含大量与对象状态有关的条件语句。 如何解决:将各种具体的状态类抽象出来。 类...
阅读全文
posted @ 2020-04-21 13:16 夏小皮
阅读(240)
评论(0)
推荐(0)
2020年4月17日
c++之工厂模式
摘要: 工厂设计模式,顾名思义,就是用来生产对象的,在JVAA或C++中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如我们要更换对象,所有new对象的地方都需要修改一遍,这显然违背了软件设计的开闭原则,如果我们使用工厂来生产对象,我们就只和工厂打交道就可以了,彻
阅读全文
posted @ 2020-04-17 20:28 夏小皮
阅读(420)
评论(0)
推荐(0)
2020年4月3日
JAVA基础知识重难点
摘要: 声明:以下内容为个人期末对JAVA基础知识的总结,来源于各种资料搜索和个人理解整理而出,也许有不妥的地方,欢迎学习指教 1.Java语言具有可移植性、可跨平台运行特点的原因是什么? Java——编译器——jvm——平台 Java用编译器编译成.class的字节码文件,字节码类似于机器指令,同一字节码
阅读全文
posted @ 2020-04-03 16:45 夏小皮
阅读(1315)
评论(0)
推荐(0)
2020年3月19日
C++之观察者模式
摘要: 观察者模式又被称为发布订阅模式。它定义了对象之间一对多的依赖,当一个对象状态发生改变时,它的所有依赖者都会收到通知并自动更新相关内容。即建立一个(Subject类)对多(Observer类)的关系,能够使得当Subject的对象变化的时候,依赖这个的多个Observe的对象实例也能够同步进行相应的改
阅读全文
posted @ 2020-03-19 15:17 夏小皮
阅读(1564)
评论(0)
推荐(2)
2020年3月12日
C++之模板模式
摘要: 模板模式 作用:定义一个操作中的算法的骨架。而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。其关键是将通用算法(逻辑)封装在抽象基类中,并将不同的算法细节放到子类中实现。 在我看来,模板模式的好处在于能减少代码段的复用,把公共行为封装到基类中,把行为
阅读全文
posted @ 2020-03-12 20:14 夏小皮
阅读(398)
评论(0)
推荐(0)
上一页
1
···
3
4
5
6
7
8
下一页
公告