
设计模式
文章平均质量分 61
jfkidear
这个作者很懒,什么都没留下…
展开
-
设计模式六大原则(3):依赖倒置原则
设计模式六大原则(3):依赖倒置原则 分类: 设计模式2012-02-24 08:46 895人阅读 评论(7) 收藏 举报 定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低转载 2012-02-24 20:11:32 · 442 阅读 · 0 评论 -
C++ 线程安全的单例模式
++ 线程废话不多说,常用的代码积淀下来。 一、懒汉模式:即第一次调用该类实例的时候才产生一个新的该类实例,并在以后仅返回此实例。 需要用锁,来保证其线程安全性:原因:多个线程可能进入判断是否已经存在实例的if语句,从而non thread safety. 使用double-check来保证thread safety.但是如果处理大量数据时,该锁才成为严重的性能瓶颈。 1、静态成员转载 2013-12-23 17:44:19 · 726 阅读 · 0 评论 -
C++箴言:谨慎使用私有继承
【简 介】 在《C++箴言:确保公开继承模拟“is-a”》一文中论述了 C++ 将 public inheritance(公有继承)视为一个 is-a 关系。当给定一个 hierarchy(继承体系),其中有一个 class Student 从一个 class Person 公有继承,当为一个函数调用的成功而有必要时,需要将 Students 隐式转型为 Persons,它通过向编译器展示来做到转载 2013-12-26 15:54:45 · 1130 阅读 · 0 评论 -
用C++设计一个不能被继承的类
用C++设计一个不能被继承的类(转) (2008-06-30 21:30:46) 转载▼ 标签: 文化 分类: 学习 题目:用C++设计一个不能被继承的类。 分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。 在Java 中定义转载 2013-12-26 16:08:00 · 920 阅读 · 0 评论 -
C++单例模式如何进行释放控制
C++单例模式如何进行释放控制 2010-01-27 10:45 佚名 优快云 字号:T | T 想要充分的掌握C++单例模式相关技术,那么就要对C++中的结构、语句、变量、函数、预处理指令、输入和输出等内容进行了解掌握。 AD:51CTO 网+ 第十二期沙龙:大话数据之美_如何用数据驱动用户体验 C++单例模式也称为单件模式、单子转载 2016-11-03 16:39:34 · 1183 阅读 · 0 评论 -
java:从消息机制谈到观察者模式
java:从消息机制谈到观察者模式 标签: Java消息机制观察者模式发布-订阅模式源-监听器模式 2015-05-13 22:55 3460人阅读 评论(1) 收藏 举报 分类: 编程思想(18) java(34) 版权声明:本文为博主原创文章,未经博主允许不得用于任何商业用途,转载请注明出处。 目录(?)[+]转载 2016-09-27 23:47:20 · 374 阅读 · 0 评论 -
观察者模式应用场景实例
观察者模式应用场景实例 标签: functiondateclass数据库编程优化 2011-03-22 15:41 12463人阅读 评论(7) 收藏 举报 分类: PHP(2) 版权声明:本文为博主原创文章,未经博主允许不得转载。 /** * 观察者模式应用场景实例 * * 免责声明:本文只是以哈票网举例,示例中并未涉及哈票网任何业转载 2016-09-28 13:59:48 · 615 阅读 · 0 评论 -
SunnyAmy 面向对象设计七大原则
SunnyAmy 面向对象设计七大原则 1. 单一职责原则(Single Responsibility Principle) 每一个类应该专注于做一件事情。 2. 里氏替换原则(Liskov Substitution Principle) 超类存在的地方,子类是可以替换的。 3. 依赖倒置原则(Dependence Inversion Princip转载 2016-10-25 10:45:11 · 414 阅读 · 0 评论 -
C++ 单例模式---知乎
https://zhuanlan.zhihu.com/p/37469260 C++ 单例模式 Arkin Mechanic . Keep coding. 36 人赞同了该文章 1. 什么是单例模式 单例模式(Singleton Pattern,也称为单件模式),使用最广泛的设计模式之一。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。 定义...转载 2019-07-10 10:09:12 · 838 阅读 · 0 评论 -
单例模式
构造析构全放private,拷贝和赋值delete,单例只需要两行代码。 static Singleton& Singleton::getInstance() { static Singleton instance; return instance; } 采用c++11及以上版本编译,线程安全,lazy-initialize,自动销毁,完美。 ...转载 2019-07-07 15:25:46 · 266 阅读 · 0 评论 -
C++中的单例模式
C++中的单例模式 分类: C、C++2011-07-29 22:35 24546人阅读 评论(20) 收藏 举报 c++delete编译器设计模式classiostream 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,转载 2013-12-24 09:17:43 · 539 阅读 · 0 评论 -
里氏代换原则
10.3.2 里氏代换原则(Liskov Substitution Principle) 2009-12-04 15:05 刘中兵 电子工业出版社 我要评论(0) 字号:T | T 综合评级: 想读(1) 在读(1) 已读(1) 品书斋鉴(0) 已有3人发表书评 《Java Web系统设计与架构》讲解JavaWeb系统设计与架构,转载 2012-02-24 22:50:34 · 915 阅读 · 0 评论 -
设计模式六大原则
10.3 设计模式六大原则 我们已经了解到,设计模式体现的是软件设计的思想,而不是软件技术,它重在使用接口与抽象类来解决各种问题。在使用这些设计模式时,应该首先遵守如表10-1所示的六大原则。 表10-1 设计模式六大原则 原 则 含 义 具 体 方 法 开闭原则 对扩展开放,对修改关闭 多使用抽象类和转载 2012-02-24 21:26:13 · 649 阅读 · 0 评论 -
设计模式六大原则(1):单一职责原则
设计模式六大原则(1):单一职责原则 分类: 设计模式2012-02-21 09:52 1180人阅读 评论(7) 收藏 举报 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单转载 2012-02-24 20:22:55 · 461 阅读 · 0 评论 -
设计模式六大原则(2):里氏替换原则
设计模式六大原则(2):里氏替换原则 分类: 设计模式2012-02-22 08:46 550人阅读 评论(2) 收藏 举报 肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。 定义1:如果对每一个类型为 T1的对象 o1,转载 2012-02-24 20:31:26 · 427 阅读 · 0 评论 -
设计模式中类的关系
设计模式中类的关系 分类: 设计模式2012-01-09 14:51 1164人阅读 评论(2) 收藏 举报 在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强。 1. 依赖(Dependence) 依赖关系的定义为:对于两个相对独立的对象,当转载 2012-02-24 20:49:28 · 425 阅读 · 0 评论 -
谈一谈自己对依赖、关联、聚合和组合之间区别的理解
谈一谈自己对依赖、关联、聚合和组合之间区别的理解 分类: 设计模式2012-02-07 15:42 610人阅读 评论(2) 收藏 举报 在学习面向对象设计对象关系时,依赖、关联、聚合和组合这四种关系之间区别比较容易混淆。特别是后三种,仅仅是在语义上有所区别,所谓语义就是指上下文环境、特定情景等。他们在编程语言中的体现却是基本相同的,但是基本相同并不等于完全转载 2012-02-24 21:03:03 · 828 阅读 · 0 评论 -
迪米特法则(最少知道原则)
10.3.5 迪米特法则(最少知道原则)(Demeter Principle) 迪米特法则(Law of Demeter)又叫最少知道原则(Least Knowledge Principle),1987年秋天由美国Northeastern University的Ian Holland提出,被UML的创始者之一Booch等普及。后来,因为在经典著作《 The Pragmatic Progra转载 2012-02-24 21:15:04 · 2744 阅读 · 0 评论 -
接口隔离原则
10.3.4 接口隔离原则(Interface Segregation Principle) 接口隔离原则的意思是:使用多个隔离的接口,比使用单个接口好。也就是说,一个类对另外一个类的依赖性应当是建立在最小的接口上的。 在我们进行设计的时候,一个重要的工作就是恰当地划分角色和角色对应的接口。因此,这里的接口往往有两种不同的含义。 1.接口对应的角色 指一个类型所具有的方法转载 2012-02-24 21:16:13 · 1175 阅读 · 0 评论 -
合成复用原则(Composite Reuse Principle)
10.3.6 合成复用原则(Composite Reuse Principle) 合成(Composition)和聚合(Aggregation)都是关联(Association)的特殊种类。聚合表示整体和部分的关系,表示"拥有";合成则是一种更强的"拥有",部分和整体的生命周期一样。合成的新的对象完全支配其组成部分,包括它们的创建和销毁等。一个合成关系的成分对象是不能与另一个合成关系共享的转载 2012-02-24 21:14:25 · 2214 阅读 · 0 评论 -
依赖倒转原则
10.3.3 依赖倒转原则(Dependence Inversion Principle) 开闭原则的主要机制就是依赖倒转原则,这个原则的内容是:要依赖于抽象,不要依赖于具体,即要针对接口编程,不针对实现编程。 依赖也就是耦合,共分为下面3种。 零耦合(Nil Coupling)关系:两个类没有依赖关系。 具体耦合(Concrete Coupling)关系:两个具体的类之转载 2012-02-24 21:18:20 · 989 阅读 · 0 评论 -
掌握设计模式
[置顶] 迈出从3K到1W的重要一步——掌握设计模式 分类: 设计模式2012-02-09 23:56 3591人阅读 评论(24) 收藏 举报 IT职场的小菜经常有这样的疑问: 为什么一个相似的功能,大牛一会儿就搞定,然后悠闲地品着下午茶逛淘宝;而自己加班加点搞到天亮还做不完。 为什么用户提出需求变更后,大牛只需潇洒地敲敲键盘,改改转载 2012-02-24 22:51:12 · 706 阅读 · 0 评论 -
论单例模式内存释放
论单例模式内存释放 Jay_Guo关注 2017.11.26 21:37*字数 710阅读 648评论 0喜欢 1 对于C++ 项目开发者来说,单例模式可以说是最常用的也是最有效的一种设计模式,无论是单线程中的懒汉模式还是线程安全的恶汉模式,亦或是其各个变种模式,都无法避免的是在使用完成后要对该单例占用的内存进行释放,本文旨在介绍几种单例模式内存释放方式。 单例模式 在C...转载 2019-07-07 15:26:43 · 2110 阅读 · 0 评论