E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Boolan
Boolan
-设计模式编程第二周笔记
Factory第一一个用于创建对象的接口,让子类决定实例化某一个类,可以使得一个类的实例化延迟到子类。注意:隔离类对象的使用者和具体类型(Rec、Line、Circle)之间的耦合关系。通过面向对象的手法,将所要创建的具体对象延迟到子类,从而实现一种扩展的策略,解决紧耦合关系。但是各类对象的创建方法或参数必须相同。AbstractFactory提供一个接口,让该接口负责创建一系列“相关或相互依赖”
杨嘉莉
·
2018-06-09 14:55
Boolan
STL与泛型编程 第五周作业
设计一个Measurement计量单位类型,满足如下要求,当为距离单位,当构造米或者千米等不同距离单位的实例时,统一以米为基本单位,实例调用description函数返回单位对应的meter类型(米类型)当为时间单位,当构造分钟或者秒为单位的实例时,统一以秒为基本单位,实例调用description函数返回单位对应的second类型(秒类型)如果为除距离和时间的其他单位,都打印值即可。提示请使用T
lxidea
·
2018-06-02 21:34
Boolan
STL与泛型编程 第四周作业
编写一个Sink迭代器,同时可以完成inserter迭代器和打印数值的功能本周的作业如上面所示了。要求是编写一个迭代器,将默认的inserter迭代器的功能实现,并且在每次迭代的时候能够把容器内的数据打印出来。既然如此,那我们就把inserter改一改吧。//sink.h#include#includetemplateclasssink_iterator{public:typedefstd::ou
lxidea
·
2018-05-26 22:18
Boolan
C++面向对象高级程序设计-第五周作业
本周作业:为上周题目中的Fruit和Apple添加构造函数与析构函数,并在构造函数与析构函数中打印控制台信息,观察构造和析枸调用过程。然后为Apple类重载::operatornew和::operatordelete,在控制台打印信息,并观察调用结果。于是首先添加构造函数和析构函数,然后观察构造和析构调用过程。这部分的Fruit和Apple类我都放在一个叫做fruit.h的头文件里。////Cre
lxidea
·
2018-04-23 09:32
lxidea的
Boolan
C++面向对象高级编程(下)学习笔记(一)
本周进行的是“革命尚未成功,同志仍需努力”这段话中,那众多细小但重要的细枝末节。以下是他们的罗列ConversionFunctionnon-explicitoneargumentconstructorpointer-likeclassesFunction-likeclassesnamespace经验谈classtemplateFunctionTemplateMemberTemplatespecia
lxidea
·
2018-04-16 13:02
Boolan
微专业-设计模式(Week01)
设计模式简述如何解决复杂性分解:分而治之,由大化小抽象:忽略它的非本质细节,去处理泛化和理想化了的对象模型8大原则依赖倒置原则(DIP)高层模块不应该依赖于低层模块,二者都应该依赖于抽象抽象不应该依赖于实现细节,实现细节应该依赖于抽象开放封闭原则(OCP)对扩展开放,对更改封闭类模块应该是可扩展的,但是不可修改单一职责原则(SRP)一个类应该仅有一个引起它变化的原因变化的方向隐含着类的责任Lisk
GoMomi
·
2018-03-22 20:06
网易云课堂(
Boolan
)C++ 第九周笔记
Iterator除了每个容器自定义的迭代器外,标准库中iterator中还定义了其它几种迭代器:insertiterator:这种迭代器被绑定到一个容器上,可用来向容器插入容器。streamiterator:这种迭代器被绑定在输入输出流上,可用来遍历所关联的IO流。reverseiterator:这种迭代器反向移动,除了forward_list之外的容器都有反向迭代器。moveiterator:这
淡淡的悲哀
·
2018-03-05 09:24
Boolan
微专业-STL与泛型编程(Week04)
C++标准库---体系结构与内核分析162.png163.png164.png165.png166.png167.png168.png169.png
GoMomi
·
2018-03-05 09:04
网易云课堂(
Boolan
)C++ 第四周笔记
关于C++类的大小(size)1.空类classAA{};#includeintmain(){AAA;std::cout<
淡淡的悲哀
·
2018-01-29 09:35
C++笔记4--(
Boolan
)
类型转换运算符(conversionoperator)是类的一种特殊成员函数,它负责将一个类类型的值转换成其他类型。类型转换函数的一般形式如下所示:operatortype()const;其中type表示某种类型。类型转换运算符可以面向任意类型(除了void之外)进行定义,只要该类型能作为函数的返回类型。因此,不允许转换成数组或者函数类型,但允许转换成指针(包括数组指针及函数指针)或者引用类型。类
如烟四月
·
2018-01-29 09:49
Boolan
_c++第4周笔记
革命尚未成功,同志仍需努力1、导读1)泛型编程(GenericProgramming)和面向对象编程(Object-OrientedProgramming)是c++的技术主线。推荐书记:《c++primer》第五版;《c++programminglanguage》《effectivec++》(有中文版)《effectivemodernc++》《thec++standardlibrary》《STL源
hello萌面大婶
·
2018-01-29 02:52
Boolan
-C++面向对象高级编程 学习笔记(四)
这周的部分感觉相对繁杂,函数模板方面零零散散,所以这次的笔记就围绕转换函数来整理。类型转换操作符(typeconversionoperator)是一种特殊的类成员函数,它定义将类类型值转变为其他类型值的转换。转换操作符在类定义的体内声明,在保留字operator之后跟着转换的目标类型。转换函数又称类型强制转换成员函数,它是类中一个非静态成员函数。定义格式:class{public:operator
FishParadise
·
2018-01-28 14:12
Boolan
-C++面向对象高级编程 学习笔记(三)
这周工作忙,就先这样吧在本周首先学习了面向对象编程的三种主要模式:composition复合、delegation委托以及inheritance继承。(1)composition复合在一个类中,以另一个类作为数据成员,这种类与类之间的关系被称之复合。在上图中,使用了类模板的概念。使用classSequence=deque,类似于typedef。将deque替换至代码中:在面向对象之前,复合就已经存
FishParadise
·
2018-01-21 22:08
STL与泛型编程第二周
boolan
课上版本GNU2.91OOP面向对象编程与GP泛型编程OOP:数据和操作放在一起GP:将数据和操作分开来如果容器自带sort则用容器自带的算法涉及元素本身的操作就是比大小相当于是重新定义了一个操作将之替换为=原来默认的和template功能相同成员模板特化specialization注意语法template//泛化struct__type_traits{}template{}//特化partial
zslgg
·
2018-01-14 19:18
C++设计模式 week3 (
Boolan
)
“对象性能”模式面向对象很好的解决了“抽象”的问题,但是不可避免地要付出一定的代价。对于通常情况来讲,面向对象的成本大都可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。典型模式SingletonFlyweightSingleton单件模式动机(Motivation)在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。如何
YPAN
·
2018-01-14 06:47
C++设计模式 week3 (
Boolan
)
“对象性能”模式面向对象很好的解决了“抽象”的问题,但是不可避免地要付出一定的代价。对于通常情况来讲,面向对象的成本大都可以忽略不计。但是某些情况,面向对象所带来的成本必须谨慎处理。典型模式SingletonFlyweightSingleton单件模式动机(Motivation)在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。如何
YPAN
·
2018-01-14 06:47
Boolan
(博览网)——C++ 设计模式(第十三周大结局!撒花!)
目录1.单件模式(Singleton)2.享元模式(Flyweight)3.状态模式(State)4.备忘录(Memento)5.组合模式(Composite)6.迭代器(Iterator)7.职责链(ChainofResponsibility)8.命令模式(Command)9.访问器(Visitor)10.解析器(Interpreter)11.设计模式总结「对象性能」模式面向对象很好的解决了“抽
Michael_SR
·
2018-01-10 20:59
Boolan
(博览网)——C++ 设计模式(第十三周大结局!撒花!)
目录1.单件模式(Singleton)2.享元模式(Flyweight)3.状态模式(State)4.备忘录(Memento)5.组合模式(Composite)6.迭代器(Iterator)7.职责链(ChainofResponsibility)8.命令模式(Command)9.访问器(Visitor)10.解析器(Interpreter)11.设计模式总结「对象性能」模式面向对象很好的解决了“抽
Michael_SR
·
2018-01-10 20:59
Boolan
(博览网)——C++ 设计模式(第十二周)
目录1.工厂方法(FactoryMethod)2.抽象工厂(AbstractFactory)3.原型模式(Prototype)4.构建器(Builder)5.门面模式(Facade)6.代理模式(Proxy)7.适配器(Adapter)8.中介者(Mediator)「对象创建」模式通过「对象创建」模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它
Michael_SR
·
2018-01-07 20:21
Boolan
(博览网)——C++ 设计模式(第十二周)
目录1.工厂方法(FactoryMethod)2.抽象工厂(AbstractFactory)3.原型模式(Prototype)4.构建器(Builder)5.门面模式(Facade)6.代理模式(Proxy)7.适配器(Adapter)8.中介者(Mediator)「对象创建」模式通过「对象创建」模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。它
Michael_SR
·
2018-01-07 20:21
C++设计模式 week2 (
Boolan
)
"对象创新"模式通过"对象创建"模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定.它是接口抽象之后的第一步工作.典型模式FactoryMethodAbstractFactoryPrototypeBuilderFactoryMethod工厂方法动机(Motivation):在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类
YPAN
·
2018-01-07 19:19
C++设计模式 week2 (
Boolan
)
"对象创新"模式通过"对象创建"模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定.它是接口抽象之后的第一步工作.典型模式FactoryMethodAbstractFactoryPrototypeBuilderFactoryMethod工厂方法动机(Motivation):在软件系统中,经常面临着创建对象的工作;由于需求的变化,需要创建的对象的具体类
YPAN
·
2018-01-07 19:19
Boolan
第十一周 笔记
本周开始学习设计模式:1、之前,人们解决问题的方式是分解,是用分而治之的方法来处理问题2、学习了设计模式后,可以用“抽象”去解决一些问题,即忽视事物的非本质细节,去处理泛化或理想化的模型。深入理解面向对象的机制,更好的使用抽象向下:面向对象的三大机制1、封装,隐藏内部实现2、继承,复用现有代码3、多态,改写对象行为向上:深刻的把握面向对象机制所带来的抽象意义,理解如何使用这些机制来表达现实世界,掌
China帅
·
2018-01-01 22:02
C++设计模式 week1 (
Boolan
)
课程目标理解松耦合设计思想掌握面向对象设计原则掌握重构技法改善设计掌握GOF核心设计模式推荐书目GOF设计模式:GOF(groupoffour),历史性著作"设计模式:可复用面向对象软件的基础"一书中描述了23种经典面向对象设计模式,创立了模式在软件设计中的地位.由于"设计模式"一书确定了设计模式的地位,通常所说的设计模式隐含地表示"面向对象设计模式".但这并不意味"设计模式"就等于"面向对象设计
YPAN
·
2017-12-30 05:52
C++设计模式 week1 (
Boolan
)
课程目标理解松耦合设计思想掌握面向对象设计原则掌握重构技法改善设计掌握GOF核心设计模式推荐书目GOF设计模式:GOF(groupoffour),历史性著作"设计模式:可复用面向对象软件的基础"一书中描述了23种经典面向对象设计模式,创立了模式在软件设计中的地位.由于"设计模式"一书确定了设计模式的地位,通常所说的设计模式隐含地表示"面向对象设计模式".但这并不意味"设计模式"就等于"面向对象设计
YPAN
·
2017-12-30 05:52
(
BOOLAN
)STL的适配器和迭代器
最近在加班;后续补上;-----------------------------------------------------------------------------笔记:C++的六大部件除了Algorithm是functiontemplate,其它都是classtemplate;Iterator有5种分类(搜索策略的不同):iterator分类Iterator适配器:istream_i
坏水强
·
2017-12-27 23:04
Boolan
C++微专业课程第一周笔记
C++微专业课程笔记1.1C++推荐书籍:C++Primer(第五版),THEC++PROGRAMMINGLANGUAGE(第四版),EffectiveC++(第三版)(中文版:EffectiveC++改善程序技术与设计思维的55个有效做法(第三版)侯捷),THEc++STANDARDLIBRARY(第二版),STL源码剖析(侯捷)。2.2头文件包括标准库(如#include)和自己写的类声明(如
Sure_w
·
2017-12-26 21:03
Boolan
(博览网)——C++ 设计模式(第十一周)
目录1.设计模式简介2.面向对象设计原则3.模板方法4.策略模式5.观察者模式6.装饰模式7.桥模式1.设计模式简介1.1课程目标理解松耦合设计思想掌握面向对象设计原则掌握重构技法改善设计掌握GOF核心设计模式1.2什么是设计模式每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。——ChristopherAlexand
Michael_SR
·
2017-12-26 16:24
Boolan
(博览网)——C++ 设计模式(第十一周)
目录1.设计模式简介2.面向对象设计原则3.模板方法4.策略模式5.观察者模式6.装饰模式7.桥模式1.设计模式简介1.1课程目标理解松耦合设计思想掌握面向对象设计原则掌握重构技法改善设计掌握GOF核心设计模式1.2什么是设计模式每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。——ChristopherAlexand
Michael_SR
·
2017-12-26 16:24
Boolan
(博览网)——STL与泛型编程(第十周)
目录1.一个万用的HashFunction2.tuple(元组)浅谈3.typetraits深入探索3.1typetraits应用3.2typetraits实现4.cout浅谈5.moveable深入探索5.1moveable元素对于multiset速度效能的影响5.2写一个moveablecalss5.3moveable测试及代码剖析1.一个万用的HashFunction我们都知道,如果要使用哈
Michael_SR
·
2017-12-24 22:06
Boolan
(博览网)——STL与泛型编程(第十周)
目录1.一个万用的HashFunction2.tuple(元组)浅谈3.typetraits深入探索3.1typetraits应用3.2typetraits实现4.cout浅谈5.moveable深入探索5.1moveable元素对于multiset速度效能的影响5.2写一个moveablecalss5.3moveable测试及代码剖析1.一个万用的HashFunction我们都知道,如果要使用哈
Michael_SR
·
2017-12-24 22:06
STL与泛型编程 week 5 (
Boolan
)
一个万用的HashFunction目标:为Customer写一个CustomerHash,使我们在用Customer的unodered_set时得以提供自定义的hashfunctor.structCustomer{stringfname;//firstnamestringlname;//lastnamelongno;};classCustomerHash{public:std::size_tope
YPAN
·
2017-12-24 19:44
STL与泛型编程 week 5 (
Boolan
)
一个万用的HashFunction目标:为Customer写一个CustomerHash,使我们在用Customer的unodered_set时得以提供自定义的hashfunctor.structCustomer{stringfname;//firstnamestringlname;//lastnamelongno;};classCustomerHash{public:std::size_tope
YPAN
·
2017-12-24 19:44
Boolan
(博览网)——STL与泛型编程(第九周)
目录1.算法1.1各种容器的iterators的iterator_category1.2iterator_category对算法的影响1.3算法源代码剖析2.仿函数functors2.1仿函数的使用方法2.2仿函数functors的可适配(adaptable)条件3.Adapter(适配器)3.1☆函数适配器:binder2nd3.2新型适配器,bind3.3迭代器适配器:revers_itera
Michael_SR
·
2017-12-18 00:46
Boolan
(博览网)——STL与泛型编程(第九周)
目录1.算法1.1各种容器的iterators的iterator_category1.2iterator_category对算法的影响1.3算法源代码剖析2.仿函数functors2.1仿函数的使用方法2.2仿函数functors的可适配(adaptable)条件3.Adapter(适配器)3.1☆函数适配器:binder2nd3.2新型适配器,bind3.3迭代器适配器:revers_itera
Michael_SR
·
2017-12-18 00:46
STL与泛型编程 week 4 (
Boolan
)
C++标准库的算法,是什么东西?从语言层面讲容器Container是个classtemplate算法Algorithm是个functiontemplate迭代器Iterator是个classtemplate仿函数Functor是个classtemplate适配器Adapter是个classtemplate分配器Allocator是个classtemplatetemplateAlgorithm(It
YPAN
·
2017-12-17 06:57
STL与泛型编程 week 4 (
Boolan
)
C++标准库的算法,是什么东西?从语言层面讲容器Container是个classtemplate算法Algorithm是个functiontemplate迭代器Iterator是个classtemplate仿函数Functor是个classtemplate适配器Adapter是个classtemplate分配器Allocator是个classtemplatetemplateAlgorithm(It
YPAN
·
2017-12-17 06:57
【
Boolan
】第四周笔记
1.conversionfunction转换函数,用作类型转换,编译器可以自动调用,当然也可以显示调用,C风格的(type)value,C++风格的static_castvalue都是可以的,需要注意的是如果类已经有转换函数,就不需要在写这个类与要转换的类的运算符重载了,因为会出现二义性2.non-explicit-one-argumentctor没有指定明确调用的单一参数的构造函数Fractio
听说名字长一点不会重复
·
2017-12-11 14:04
【
Boolan
】第三周笔记
1.类与类之间的三种关系:1)Inheritance(继承)2)Composition(复合)3)Delegation(委托)2.Composition复合关系,可理解为hasa复合关系下的构造函数:从内而外,Container的构造函数先调用Component的default构造函数,再执行自己Container::Container(...):Component(){};复合关系下的构造函数:
听说名字长一点不会重复
·
2017-12-11 07:03
第四周笔记(
Boolan
)
泛型编程与面向对象编程是c++两大技术主线分属不同思维继承关系所形成的对象模型(ObjectModel)包括隐藏于底层的this指针vptr(虚指针)vtbl(虚表)vituralmechanism(虚机制)以及virtualfunction(虚函数)造成的polymorphism(多态)效果Conversionfunction转换函数public:Fraction(intnum,intden=1
zslgg
·
2017-12-11 06:56
C++
boolan
part1
培养正规的、大气的编程习惯1.Header(头文件)中的防卫声明complex.h#ifndef__COMPLEX__#define__COMPLEX__.................#endif2.设置初值列,初始列initializationlistpublic:complex(doubler=0,doublei=0):re(r),im(i){}3.尽量使用应用来传值passbyrefer
Bigyvan
·
2017-12-11 03:00
STL与泛型编程 week 3 (
Boolan
)
deque&queue和stack深度探索deque的定义(C++Primer):Sequentialcontainer.Elementsinadequecanbeaccessedbytheirpositionalindex.Supportsfastrandomaccesstoelements.Likeavectorinallrespectsexceptthatitsupportsfastinse
YPAN
·
2017-12-10 20:13
STL与泛型编程 week 3 (
Boolan
)
deque&queue和stack深度探索deque的定义(C++Primer):Sequentialcontainer.Elementsinadequecanbeaccessedbytheirpositionalindex.Supportsfastrandomaccesstoelements.Likeavectorinallrespectsexceptthatitsupportsfastinse
YPAN
·
2017-12-10 20:13
Boolan
/STL 与泛型编程 part3
2017-12-0512:46:54/herohlcdeque深度探索1.deque数据结构ImageCopiedon2017-12-10at16.48.33下午.png体会外部的设计思路。deque对外特性连续,内部分段连续。2.deque缓冲区deque如何实现前后扩充?缓冲区帮助deque实现前后扩充deque缓冲区设计分段缓冲区存储deque实际存入的元素放在缓冲区中,deque中会创建多
我才是helo
·
2017-12-10 17:59
Boolan
/STL 与泛型编程 part3
2017-12-0512:46:54/herohlcdeque深度探索1.deque数据结构ImageCopiedon2017-12-10at16.48.33下午.png体会外部的设计思路。deque对外特性连续,内部分段连续。2.deque缓冲区deque如何实现前后扩充?缓冲区帮助deque实现前后扩充deque缓冲区设计分段缓冲区存储deque实际存入的元素放在缓冲区中,deque中会创建多
我才是helo
·
2017-12-10 17:59
Boolan
(博览网)——STL与泛型编程(第八周)
目录深度探索deque浅谈queue&stack浅谈RB-tree(红黑树)浅谈set/multiset浅谈map/multimap浅谈hashtablehash_set/hash_multiset,hash_map/hash_multimap概念unordered容器概念1.深度探索deque1.1deque概述vector是单向开口的连续线性空间,deque则是一种双向开口的连续线性空间,可以
Michael_SR
·
2017-12-10 16:56
Boolan
(博览网)——STL与泛型编程(第八周)
目录深度探索deque浅谈queue&stack浅谈RB-tree(红黑树)浅谈set/multiset浅谈map/multimap浅谈hashtablehash_set/hash_multiset,hash_map/hash_multimap概念unordered容器概念1.深度探索deque1.1deque概述vector是单向开口的连续线性空间,deque则是一种双向开口的连续线性空间,可以
Michael_SR
·
2017-12-10 16:56
Boolan
_C++_Composition
Composition,复合,表示has-aAdapter,改造、适配、配接。变压器是一种。Compositions关系下的构造和析构,构造由内而外,Container::Container(...):Component(){...};Component()自己写,或者调用默认的。析构由外而内。Delegation委托,Compositionbyreference.StringRep,String
FlyTheKite
·
2017-12-09 02:58
Week5(
Boolan
)
关于vptr和vtbl父类有虚函数,子类也必定有,并且含有自己的虚指针(vptr)。虚指针指向虚表(vtbl),虚表中存放函数指针,指向虚函数所在位置。父类和子类的同名成员函数完全无关联,是不同的函数。子类override的父类虚函数,拥有与父类不同的函数指针。静态绑定与动态绑定c语言中的函数调用(call)是静态绑定(staticbinding),调用函数时总是由编译器解析成固定地址然后跳转,调
DangerousMan
·
2017-12-07 07:26
Boolan
- C++学习笔记 一 - 第三周
类之间的关系Composition复合Inheritance继承Delegation委托1、Composition:Composition表示:has-a的关系,即包含一个、若干个的关系。如图,queue有一个deque类,如下图所示:queue作为容器,他容纳了类dequeAdapter:适配器设计模式:改造一下已有的实现,改头换面,即可实现“适配”功能。Composition关系下的构造和析构
amberfjx
·
2017-12-06 14:46
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他