#深入浅出设计模式

设计模式之迭代模式

classBaseIterator:"""迭代器"""def__init__(self,data):self.__data=dataself.toBegin()deftoBegin(self):"""将指针移至起始位置"""self.__curIdx=-1deftoEnd(self):"""将指针移至结尾位置"""se...
代码星球 代码星球·2020-06-14

设计模式之对象池机制

fromabcimportABCMeta,abstractmethodimportloggingimporttime"""设计要点:两个核心对象(进行池化的对象、对象池)、三个关键动作对象(借用对象、使用对象、归还对象)使用注意事项:对已归还的对象的引用,不能在进行任何其他操作,否则将产生不可预料的结果(使用引用计数技...
代码星球 代码星球·2020-06-14

设计模式之状态模式

fromabcimportABCMeta,abstractmethod#状态模式关键在于找到使状态发生改变的某个属性或某个某个属性集,比如水的状态的改变关键在于温度classContext(metaclass=ABCMeta):"""状态类的上下文环境类"""def__init__(self):self.__state...
代码星球 代码星球·2020-06-14

设计模式之职责模式

fromabcimportABCMeta,abstractmethod#职责模式又称为责任链模式#譬如在公司中请假,如果是2天以内,部门领导有权力审批,2天到5天,还需分管领导,5天以上,提交行政部门#这样每一级可以动态判断自己是否可以审批,如果没有权力,就一级一级往上报classRequest(metaclass=A...
代码星球 代码星球·2020-06-14

设计模式之克隆模式

fromcopyimportcopy,deepcopy#理解深浅拷贝#浅拷贝:只拷贝引用类型对象的指针,不拷贝引用类型对象指向的值(只拷贝第一层)#深拷贝:同时拷贝引用类型对象及其指向的值#引用类型:Python中表现为:list、dict、、set、类对象a=[1,2,3,3,4]b=aa[1]=1000#[1,10...
代码星球 代码星球·2020-06-14

设计模式之装饰模式

fromabcimportABCMeta,abstractmethod#装饰器引入classPerson(metaclass=ABCMeta):'''人'''def__init__(self,name):self._name=name@abstractmethoddefwear(self):print("着装:")cl...
代码星球 代码星球·2020-06-14

设计模式之监听模式

fromabcimportABCMeta,abstractmethodimporttime'''别名:监听模式、观察者模式、推拉模型、订阅模式(一对多)被观察者的三个方法:添加观察者、移出观察者、通知观察者观察者的一个方法:更新方法每当被观察者的状态发生改变时,就会通知观察者,观察者就会判断被观察者的状态是否达到自己需...
代码星球 代码星球·2020-06-14

php设计模式-依赖注入模式(Dependency Injection)

依赖注入模式用来减少程序间的耦合。当一个类要使用另一个类时,一般的写法如下:<?phpclassTest1{publicfunctionsay(){echo'hello';}}classTest2{public$test1;publicfunctioncommunicate(){$this->test1=n...

PHP设计模式_工厂模式

个人理解工厂类相当于平时用的基类,只需要把类new一次然后付给一个变量,以后直接引入基类调用变量使用类里的方法即可了解工厂模式,工厂方法或者类生成对象,而不是在代码中直接new。 使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数,只需要在工厂类里修改需要n...

24种设计模式

创建型模型 简单工厂设计模式工厂设计模式抽象工厂模式建造者模式原型设计模式 结构性模型  策略模式外观模式适配器模式代理模式桥接模式装饰器组合模式单例模式...
代码星球 代码星球·2020-06-13

原型设计模式

模式特点:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。程序实例:从简历原型,生成新的简历代码特点:简历类Resume提供的Clone()方法其实并不是真正的Clone,只是为已存在对象增加了一次引用。     Python为对象提供的copy模块中的copy方法和deepcopy方法已经实现了原型模...
代码星球 代码星球·2020-06-13

简单工厂设计模式

 意图:定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。适用性:当一个类不知道他所必须创建的对象的类的时候。当一个类希望有他的子类来指定他所创建的对象的时候当类将创建对象的职责委托给多个子类中的某一个。 classShapeFactory...
代码星球 代码星球·2020-06-13

Python:设计模式介绍--单例模式

单例模式1、单例是只有一个实例2、通过静态字段+静态字段伪造出一个单例效果3、什么时候用:当所有实例中封装的数据相同时,创建单例模式(eg:连接池)用单例模式创建连接池:classCP:__instance=Nonedef__init__(self):self.ip="1.1.1.1"self.port=3306sel...

深入浅出讲解低功耗蓝牙(BLE)协议栈

详解BLE连接建立过程https://www.cnblogs.com/iini/p/8972635.html详解BLE空中包格式—兼BLELinklayer协议解析https://www.cnblogs.com/iini/p/8977806.html开发你的第一个BLE应用程序—Blinkyht...

设计模式之六大原则

  关于设计模式的六大设计原则的资料网上很多,但是很多地方解释地都太过于笼统化,我也找了很多资料来看,发现CSDN上有几篇关于设计模式的六大原则讲述的比较通俗易懂,因此转载过来。  原作者博客链接:http://blog.csdn.net/LoveLion/article/category/738450/7  原文链接...
代码星球 代码星球·2020-06-02
首页上一页...2627282930...下一页尾页