自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

伊壬同学的博客

三人行,必有我师焉。

  • 博客(19)
  • 收藏
  • 关注

原创 C++设计模式——外观模式

C++设计模式——外观模式概念 外观模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。它是为子系统中的一组接口所提供的一个一致的界面。场景描述    现在有很多旅游软件都有类似于一键出行的功能。系统会去自动搜寻匹配适合的或者是热门的旅游景点,并给你订好对应景点附近的酒店等,规划好去景点的路线,并且最后把火车票给你订好。那么这样的功能如何实现呢

2017-11-03 13:52:39 410

原创 Python小工具——通过API获取天气预报

Python通过API获取天气预报    闲来无事,用Python实现了一个小工具,通过实现API来获取当前的天气预报。获取API的key    在阿凡达数据上查找天气预报相关的API,注册申请可获得一个key。API有详尽的文档,会返回Json格式的一堆数据,我们解析出来即可。非常简单。话不多说,上代码吧。实现#注意:先安装requests。# -*- coding: utf-8 -*- i

2017-08-18 16:16:09 3049 2

原创 Python搭建插件式框架(基于组件开发)

Python搭建插件式框架(基于组件开发)概念 基于组件的开发(Component-Based Development,简称CBD)是一种软件开发范型。它是现今软件复用理论实用化的研究热点,在组件对象模型的支持下,通过复用已有的构件,软件开发者可以“即插即用”地快速构造应用软件。优点灵活性高:各个功能模块之间的耦合很低,每一个组件都是独立的,它附着在整个插件框架上执行,真正的实现有则加载,无

2017-08-16 11:03:16 16637 13

原创 C++设计模式——组合模式

C++设计模式——组合模式概念 组合模式,将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。掌握组合模式的重点是要理解清楚 “部分/整体” 还有 ”单个对象“ 与 “组合对象” 的含义。 组合模式可以让客户端像修改配置文件一样简单的完成本来需要流程控制语句来完成的功能。场景描述    现有一个公司需要实现一个广播的功能,用来通知

2017-08-14 22:21:18 629

原创 C++设计模式——装饰者模式

C++设计模式——装饰者模式C设计模式装饰者模式概念场景描述一步一步进化到装饰者模式代码实现优缺点适用场景桥接模式和装饰者模式的区别个人见解欢迎指正概念 在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。场景描述    继续讲个手机的例子,假如现在有苹果手机和诺基亚手机,我们新买到之后需要给他们贴膜,套壳等。

2017-07-25 21:47:33 485

原创 C++设计模式——桥接模式

C++设计模式——桥接模式概念 将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interface)模式。场景描述    假如现在需要一个手机装配系统,从手机的角度,我们可以把手机分为苹果,诺基亚,华为,OPPO等等。从手机的操作系统又分为IOS,安卓,塞班等。而手机系统又有版本一说,可能老款的手机对新版本的

2017-06-06 20:12:45 4878 6

原创 C++设计模式——适配器模式

C++设计模式——适配器模式概念 在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。场景描述    想了半天没有一个更加贴切的例子,那就继续用网上用的最广泛的例子:插头适配器。某电器现在有个三爪的插头,但是某个插线板上全是双孔的。这么尴尬的情况下,如

2017-06-05 20:47:00 522

原创 C++设计模式——单例模式

C++设计模式——单例模式概述 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例单例模式的实现大概可以分为懒汉式实现和饿汉式实现。顾名思义,懒汉式就说明它很懒,只有在使用的时候才去创建对象。而饿汉式说明它很饿,还没开始使用就迫不及待的将对象创建出来了。饿汉式实现//Singleton.h#i

2017-06-01 20:40:56 448

原创 C++设计模式——原型模式

C++设计模式——原型模式概述 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。场景描述    现在有个玩具厂家需要用机器来制造士兵的模型,第一批制造出来的士兵是立正的姿

2017-05-31 23:13:11 521

原创 C++设计模式——建造者模式

C++设计模式——建造者模式C设计模式建造者模式概述场景描述类图描述代码实现优缺点适用场景概述 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。场景描述    现在有一个傻子要穿秋衣、秋裤、裤子和外套这四件衣服的场景,需要用代码来实现。我们脑子里第一个想法就是如下步骤:        1.创建一个傻子的类,里面有穿衣这个动作的接口函数。然后初始化一个对

2017-05-25 21:43:15 521

原创 C++设计模式——抽象工厂模式

C++设计模式——抽象工厂模式概述 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据里氏替换原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上系统所需要的,仅仅是类型与这些抽象产品角色相同的一些实例,而不

2017-05-24 21:26:20 411

原创 C++设计模式——工厂方法模式

C++设计模式——工厂方法模式概述 工厂方法模式(FACTORY METHOD)是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽象产品;具体产品场景分析    依旧是简单工厂模式中提到的例子。红色警戒中兵工厂派兵时,可以有中国士兵,美

2017-05-24 20:31:06 610

原创 C++设计模式——简单工厂模式

C++设计模式——简单工厂模式概述 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。场景分析        记得小的时候有个很火的游戏叫红色警戒。进去以后从一个很简单

2017-05-22 22:04:12 443

原创 设计模式六大原则——开放封闭原则

设计模式六大原则开放封闭原则概念开闭原则理解总结六大原则汇总设计模式六大原则——开放封闭原则概念 一个软件实体应当对扩展开放,对修改关闭。即软件实体应尽量在不修改原有代码的情况下进行扩展。开闭原则理解    开放封闭原则是面向对象中最重要的设计原则,它不针对具体,而是针对一个思想,一个方向。在任何一个软件项目中,需求是不可能不变的,而面向对象软件框架的设计,就是为了将功能模块封装、降

2017-05-19 16:05:36 2781

原创 设计模式六大原则——迪米特法则

设计模式六大原则迪米特法则概念问题描述问题由来解决方法实例总结设计模式六大原则——迪米特法则概念 (Law of Demeter)又叫作最少知道原则(Least Knowledge Principle 简写LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。英文简写为: LoD. 迪米特法则可以简单说成:talk only to your immedi

2017-05-18 17:13:49 1183

原创 设计模式六大原则——接口隔离原则

设计模式六大原则接口隔离原则概念问题描述问题由来解决问题实例设计模式六大原则——接口隔离原则概念 接口端不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小的接口上。问题描述    当一个提供接口的类中对于它的子类来说不是最小的接口,那么它的子类在实现该类的时候就必须要实现一些自己不需要的功能。如此一来,整个系统就会变得臃肿难以维护。问题由来    当类A通过接口I来依赖

2017-05-18 11:43:25 679

原创 设计模式六大原则——依赖倒置原则

设计模式六大原则依赖倒置原则概念问题描述问题由来解决办法示例设计模式六大原则——依赖倒置原则概念 依赖倒置原则:高层模块不应该依赖底层模块,二者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。问题描述    当有一个功能模块P依赖一个底层的模块P1,当有一天P改成依赖底层功能模块P2的时候,高层的功能模块P也可能需要改动。问题由来    如果高层模块直接依赖底层模块,那么无

2017-05-17 15:37:52 862

原创 设计模式六大原则——里氏替换原则

设计模式六大原则——里氏替换原则设计模式六大原则里氏替换原则概念问题描述产生原因解决办法实例概念 里氏替换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现。 LSP是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用,而衍生类也能够

2017-05-16 22:42:42 889

原创 设计模式六大原则——单一职责原则

择百家之言,无一己之思。记刍荛之见,防他日忘之。设计模式六大原则——单一职责原则概念 单一职责原则:又称为单一功能原则,它规定一个类应该只有一个发生变化的原因。 所谓的职责是指单一变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。问题描述一个类负责两个不同的职责,当其中一个职责因为需求的改变而要修改

2017-05-15 23:47:20 762

空空如也

空空如也

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

TA关注的人

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