1.基本概念 工厂方法模式,又称工厂模式、多态工厂模式和虚拟构造器模式,通过定义工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象,将类的实例化延迟到子类工厂 解决的问题:简单工厂违背的开放-封闭原则等 UML图 模式组成 2.代码实现 package com.chengjie; int ...
分类:
其他好文 时间:
2019-02-26 11:51:32
阅读次数:
160
前言:谈到“架构”这两个字,会有好多的名词闪现,比如:分层架构、事件驱动架构、DDD、CQRS等。亦或者一堆的软件设计原则,如:KISS原则(KeepitSimpleandStupid)、SOLID原则(单一责任原则、开放封闭原则、里氏替换原则、接口分离原则、依赖导致原则)等。甚至如状态图、用例图、时序图、活动图等UML建模,GOF设计模式等。本文不会讨论这些架构概念,而是从闲鱼详情页这个业务场景
分类:
其他好文 时间:
2019-02-20 18:37:53
阅读次数:
182
1.单一职责原则,是指一个类的功能要单一,不能包罗万象 2.开放封闭原则,一个模块在扩展性应该是开放的,而在更改方面应该是封闭的 3.替换原则,子类应当可以替换父类并出现在父类能够出现的任何地方 4.依赖原则,具体依赖抽象,上层依赖下层 5.接口分离原则,模块间要通过抽象接口隔离开,而不是通过具体的 ...
分类:
其他好文 时间:
2019-02-20 09:35:52
阅读次数:
157
# 装饰器形成的过程 : 最简单的装饰器 有返回值的 有一个参数 万能参数# 装饰器的作用# 原则 :开放封闭原则# 语法糖 :@# 装饰器的固定模式#不懂技术import time# print(time.time()) # 获取当前时间# time.sleep(10) #让程序在执行到这个位置的 ...
分类:
其他好文 时间:
2019-02-18 01:33:52
阅读次数:
172
最终目的:高内聚,低耦合 1) 开放封闭原则 (OCP,Open For Extension, Closed For Modification Principle) 类的改动是通过增加代码进行的,而不是修改源代码。 2) 单一职责原则 (SRP,Single Responsibility Princ ...
分类:
其他好文 时间:
2019-02-09 00:53:47
阅读次数:
193
? 装饰器的作用 —— 不修改函数的调用方式 但想在原来的函数前后添加功能,可以有多个装饰器,但只对一个函数,有一些装饰作用 ? 原则: 开放封闭原则 开放 :扩展是开放的 封闭 :对修改是封闭的 ? 图解 ? 装饰器例子 ? ? ? ...
分类:
其他好文 时间:
2019-02-06 21:16:35
阅读次数:
178
开放封闭原则(Open Close Principle,简称OCP)尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化 原始定义:Software entities (classes, modules, functions) should be open for extensi ...
分类:
其他好文 时间:
2019-01-31 19:25:28
阅读次数:
156
一. 什么是装饰器? 在说装饰器之前啊. 我们先说一个软件设计的原则: 开闭原则, 又被成为开放封闭原则,你的代码对功能的扩展是开放的你的程序对修改源代码是封闭的. 这样的软件设计思路可以更好的维护和开发。 开放:对功能扩展开放 封闭:对修改代码封闭 谈装饰器前,还要先要明白一件事,Python 中 ...
分类:
编程语言 时间:
2019-01-23 11:38:05
阅读次数:
195
装饰器(Decorator)本质是函数,功能是为其他函数添加附加功能,定义一个装饰器需要满足以下两个原则: 不修改被修饰函数源代码(开放封闭原则) 不修改被修饰函数的调用方式 装饰器 = 高阶函数 + 函数嵌套 + 闭包 1. 高阶函数 高阶函数定义: 函数接收的参数是一个函数 函数的返回值是一个函 ...
分类:
其他好文 时间:
2019-01-21 23:21:02
阅读次数:
182
装饰器: 从名字上来看,装饰器就是用来装饰内容的一个工具.本质上是一个闭包 在开发中,装饰器必须要遵守开放封闭原则:对扩展开放,对修改源代码封闭. 在装饰器中,有一个很重要的工具就是@,称之为语法糖,语法糖的本质就是:被装饰的函数名 = 装饰器的名字(被装饰的函数名) 在装饰器的应用上,有一个很简单 ...
分类:
其他好文 时间:
2019-01-15 22:04:53
阅读次数:
176