![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
陈帅同学
好好学习 天天向上
www.imshuai.cn
展开
-
设计模式:策略模式
策略模式(strategy): 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户 /** * FILE_NAME:factory.php * AUTHOR: ChenShuai * Date: 2017/1/13 * DESC: */ interface animal { /** *原创 2017-01-13 16:23:57 · 344 阅读 · 0 评论 -
php-设计模式-装饰模式
装饰模式(Decorator)动态的给一个对象添加一些额外的职责,就增加功能来讲,装饰模式比子类更加灵活[DP]标准UMLphp-装饰模式<?php #饮料类 abstract class drinks { public $name; abstract public function desc(); } # 具体饮料类 咖啡 class coffee extends...原创 2018-03-13 22:49:11 · 180 阅读 · 0 评论 -
UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现
UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现 类与类图1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。2) 在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责,在定义类的时候,将类的职责分解成为类的属性和操作(即方法)...转载 2018-03-13 16:00:53 · 286 阅读 · 0 评论 -
在这里23种经典设计模式UML类图汇总
创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向...转载 2018-03-13 15:58:20 · 235 阅读 · 0 评论 -
UML建模之时序图(Sequence Diagram)教程
一、时序图 时序图是一种强调时间顺序的交互图,在时序图中,首先把参与交互的对象放在图的上方,沿X轴方向排列。通常把发起交互的对象放在左边,较下级对象依次放在 右边,然后把这些对象发送和接受的消息沿Y轴方向按时间顺序从上到下放置。这样就提供了控制流随着时间推移的清晰的可视化轨迹。二、时序图元素1、角色 系统角色,可以是人、及其甚至其他的系统或者子系统2、对象对象包括三种命名方式: 第一...转载 2018-03-13 15:56:46 · 669 阅读 · 0 评论 -
在这里23种经典设计模式UML类图汇总
创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向...转载 2018-03-16 15:32:58 · 1804 阅读 · 0 评论 -
一张图让你快速学会UML(聚合、组合、依赖、继承、接口、类)
有朋友反映,一上来直接讲设计模式就算理解了,也不知道如何画出类图,那么我们就通过一张图,来图解如何应用UML正确表示类与类之间的关系。 这张图完整讲述了鸟类的生存。 首先是类:在UML中,我们用分成三栏的长方形表示。第一栏是名称,第二栏是属性,第三栏是方法。 继承:唐老鸭属于鸭的一种,或者说是鸭的细化划分,而鸭属于鸟类,鸟类属于动物,这里无论表达成“是”还是属于,就是这样一个直观的关系。用实线...转载 2018-03-16 15:27:35 · 339 阅读 · 0 评论 -
Javascript模块化编程(三):require.js的用法
这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战。 我采用的是一个非常流行的库require.js。一、为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了。后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载。下面的网页代码,相信很多人都见过。 <sc转载 2017-02-15 14:08:46 · 166 阅读 · 0 评论 -
Javascript模块化编程(二):AMD规范
转:http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.html 这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块。七、模块的规范 先想一想,为什么模块很重要? 因为有了模块,我们就可以更方便地使用别人的代码,想要什么功能,就加载什么模块。 但是,这样做有一个前提,那转载 2017-02-15 11:10:52 · 203 阅读 · 0 评论 -
Javascript模块化编程(一):模块的写法
转:http://www.ruanyifeng.com/blog/2012/10/javascript_module.html 随着网站逐渐变成”互联网应用程序”,嵌入网页的Javascript代码越来越庞大,越来越复杂。网页越来越像桌面程序,需要一个团队分工协作、进度管理、单元测试等等……开发者不得不使用软件工程的方法,管理网页的业务逻辑。 Javascript模块化编程,已经成为一个迫切的需转载 2017-02-15 11:00:49 · 294 阅读 · 1 评论 -
设计模式:策略模式
策略模式(strategy): 策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户 /** * FILE_NAME:factory.php * AUTHOR: ChenShuai * Date: 2017/1/13 * DESC: */ interface animal { /**原创 2018-10-17 14:51:17 · 146 阅读 · 0 评论