闪酷跑路网

一行行枯燥的代码,却描绘出人生的点点滴滴

推荐文章

10.迭代器方式

    10.迭代器模式迭代器模式简单的说就是将含有相同类型的"集合"但不同"集合"类型的两类甚至更多类融合在一起进行遍历 . 1.含有的相同类型(这里以菜单为例) public class MenuItem { String name; String description; boolean vegetarian; double price; public MenuItem(String name,String description,boolean vegetarian,double price){ this.name=name; this.description=description; this.vegetarian=vegetarian; this.price=price; } public String getName(){ return th

    阅读全文>>

作者:coody分类:【_设计模式浏览(2076

2018-11-16

[js好手之路]设计模式系列课程-发布者,订阅者重构购物车

    [js高手之路]设计模式系列课程-发布者,订阅者重构购物车发布者订阅者模式,是一种很常见的模式,比如: 一、买卖房子 生活中的买房,卖房,中介就构成了一个发布订阅者模式,买房的人,一般需要的是房源,价格,使用面积等信息,他充当了订阅者的角色 中介拿到卖主的房源信息,根据手头上掌握的客户联系信息(买房的人的手机号),通知买房的人,他充当了发布者的角色 卖主想卖掉自己的房子,就需要告诉中介,把信息交给中介发布 二,网站订阅信息的用户 订阅者角色:需要订阅某类信息的网民,如某个网站的javascript类型文章 发布者角色:邮箱服务器,根据网站收集到的用户订阅邮箱,通知用户. 网站主想把信息告诉订阅者,需要把文章相关内容告诉邮箱服务器去发送 等等非常多的例子,不一一列举 本文用网站订阅的方式,推导发布者-订阅者框架,然后用发布者-订阅者框架来重构一个简单的购物车 1 var

    阅读全文>>

作者:coody分类:【_设计模式浏览(1300

2018-11-15

再起航,小弟我的学习笔记之JavaScript设计模式05(简单工厂模式)

    再起航,我的学习笔记之JavaScript设计模式05(简单工厂模式)我的学习笔记是根据我的学习情况来定期更新的,预计2-3天更新一章,主要是给大家分享一下,我所学到的知识,如果有什么错误请在评论中指点出来,我一定虚心接受,那么废话不多说开始我们今天的学习分享吧! 前几次已经和大家分享过了,如何实现javascript的封装继承和多态,这次我们开始正式介绍javascript设计模式。 这次我们要介绍的是创建型设计模式,创建型设计模式是一类处理对象创建的设计模式,通过某种方式控制对象的创建来避免基本对象创建时可能导致设计上的问题或增加设计上的复杂度。 在创建型设计模式中,主要为大家分享的有简单工厂模式,工厂方法模式,抽象工厂模式,建造者模式,原型模式,单例模式。本次主要和大家分享,简单工厂模式。 简单工厂模式 简单工厂模式(Simple Factory): 又叫静态工厂方法,由一个工厂对象

    阅读全文>>

作者:coody分类:【_设计模式浏览(1723

2018-11-16

【设计模式】装饰者模式-皎月装饰了你的窗子

    【设计模式】装饰者模式-明月装饰了你的窗子装饰者模式   使用装饰者模式,可以动态的给一个对象添加一些额外的职责。这适用于,我们只希望给某个对象而不是整个类添加一些功能的场景。通过使用含有某个特定功能的类来“包裹”原始的类,提供给原始的类某些它本身不具备的特性。比如,我们有一杯“茉莉茶”,现在加上一颗“柠檬”,那我们就有了一杯“柠檬茉莉花茶”。“柠檬”作为一个装饰者,提供了“茉莉茶”本身没有的清爽口感。当然,这也带来了一定的负担,你需要花更多的“钱”。   1. 定义   装饰者模式动态地将职责附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的解决方案。   2. 为什么需要   装饰者提供了继承更高的灵活性。可以使用继承来实现将父类的功能添加到子类中,但是这种方式限制了用户选择的权利,没有办法选择将父类的哪些功能添加到子类中,只能被动的接受父类所有的功能。作

    阅读全文>>

作者:coody分类:【_设计模式浏览(1715

2018-11-14

《.NET 设计规范》第 九 章:常用的设计模式

    《.NET 设计规范》第 9 章:常用的设计模式第 9 章:常用的设计模式 9.1 聚合组件   考虑为常用的特性域提供聚合组件。   要用聚合组件来对高层的概念(物理对象)进行建模,而不是对系统级的任务进行建模。   要让聚合组件的名字与众所周知的系统实体相对应,比如 MessageQueue、Process 或 EventLog,这样就能使类型更加引人注目。   要在设计聚合组件时使初始化尽可能地简单,这样用户只需进行简单的初始化就可以使用组件。如果某一项初始化是必需的,那么由于没有对组件进行初始化而引发的异常应该明确地告诉用户应该怎么做。   不要要求聚合组件的用户在一个场景中显式地实例化多个对象。   要保证让聚合组件支持 Create-Set-Call 使用模式,这样用户就可以先实例化组件,然后设置它的属性,最后调用一些简单的方法,以实现大多数场景。   要为所有的聚合组件提供默

    阅读全文>>

作者:coody分类:【_设计模式浏览(937

2018-11-16

零部件组装技术——建造者模式深度解析

    零件组装技术——建造者模式深度解析建造者模式是最后一个创建型设计模式,也是研究对象的创建。 将一个复杂对象的创建与它的表示分离,使得同样的构建过程可以创建不同的表示。 创建和表示是什么意思? 表示就是外在,对象具体的样子,而内部构建过程是一种组装的概念,有点像套娃,同样的结构,但是却产生了不同大小的样子。 按照惯例,先讲故事。 假设要生产一部iPhone和一部ipod。我们要怎么做? public class IPhone { private String camera; private String touchScreen; private String communication; //省略getter,setter方法。 public class Ipod { private String camera; private Strin

    阅读全文>>

作者:coody分类:【_设计模式浏览(1199

2018-11-16

悟空方式-java-单例模式

    悟空模式-java-单例模式【那座山,正当顶上,有一块仙石。其石有三丈六尺五寸高,有二丈四尺围圆。三丈六尺五寸高,按周天三百六十五度;二丈四尺围圆,按政历二十四气。上有九窍八孔,按九宫八卦。四面更无树木遮阴,左右倒有芝兰相衬。盖自开辟以来,每受天真地秀,日精月华,感之既久,遂有灵通之意。内育仙胞,一日迸裂,产一石卵,似圆球样大。因见风,化作一个石猴,五官俱备,四肢皆全。便就学爬学走,拜了四方。目运两道金光,射冲斗府。】 上面这段文字,描述了悟空出生时的场景。孙悟空只有一个,任何程序要使用孙悟空这个对象,都只能使用同一个实例。 所以,单例模式非常好理解,单例模式确保一个类只有一个实例,且这个类自己创建自己的唯一实例并向整个系统提供这个实例,这个类叫做单例类。 其实,这个设计模式与抽象思维或者业务架构设计没有太多关系,更多要求的是对Java内存模型以及并发编程的理解,所以在介绍单例模式之前,需

    阅读全文>>

作者:coody分类:【_设计模式浏览(1451

2018-11-16

悟空方式-java-普通工厂模式

    悟空模式-java-普通工厂模式【大圣看玩多时,问土地道:“此树有多少株数?”土地道:“有三千六百株。前面一千二百株,花微果小,三千年一熟,人吃了成仙了道,体健身轻。中间一千二百株,层花甘实,六千年一熟,人吃了霞举飞升,长生不老。后面一千二百株,紫纹缃核,九千年一熟,人吃了与天地齐寿,日月同庚。”大圣闻言,欢喜无任,当日查明了株树,点看了亭阁回府。自此后,三五日一次赏玩,也不交友,也不他游。】 在《西游记》第五回《乱蟠桃大圣偷丹 反天宫诸神捉怪》里有上面这一段关于蟠桃园里不同种类蟠桃树的描述,那么这里就用蟠桃园为例来描述一下普通工厂模式的运作方式: 蟠桃 package com.tirion.design.simple.factory; public interface FlatPeach { void printLevel(); void printCycleTi

    阅读全文>>

作者:coody分类:【_设计模式浏览(761

2018-11-15

悟空形式-java-原型模式

    悟空模式-java-原型模式【却说那妖精与大圣斗经半日,不分胜败。行者把棒丢起,叫一声“变!”就以一变十,以十变百,以百变千,半天里,好似蛇游蟒搅,乱打妖邪。妖邪慌了手脚,将身一闪,化道清风,即奔碧空之上逃走。行者念声咒语,将铁棒收做一根,纵祥光一直赶来。】 在西游记第九十五回【假合真形擒玉兔 真阴归正会灵元】中,孙行者“殴打”玉兔精的时候,将如意金箍棒从一根化作了千百根,打得玉兔精无从招架。 这千百根金箍棒的属性应该是一样的,如果孙悟空每次都要新建一个新的金箍棒对象,然后把原有的金箍棒的属性复制过去,如此重复千百次,未免太过麻烦,所以我们这里假设孙悟空使用了原型模式来创建多个相同属性的金箍棒实例。 在详细介绍原型模式之前,我们需要先了解一下java.lang.Object#clone()方法以及java.lang.Cloneable接口的功能及实现: java.lang.Cloneabl

    阅读全文>>

作者:coody分类:【_设计模式浏览(1806

2018-11-14

设计模式之小结篇

    设计模式之总结篇      十一宅了,也没学习看啥书,所有时间花在了围棋上,虽然很颓废,不过令人欣慰的是居然升了3级,现在是6k水平,之前晚上下的多,停在9k挺长时间的,居然在10.1突破了,这么看来我能升段的目标还是可能实现的,这么看自信还真是挺重要的,而我一直不算个自信的人,本来打算10.1假期完成这个设计模式总结的,但是懒癌爆发,就拖到今天啦。 设计模式的6大原则这也是个老生常谈的问题,我也不免俗1.单一职责原则       一个类只承担一个职责2.开放-封闭原则       对扩展开放,对修改关闭,即尽量以扩展的方式来维护系统3.里氏替换原则      表示我们可以在代码中使用任意子类来替代父类并且程序不受影响,这样可以保证我们使用“继承”并没

    阅读全文>>

作者:coody分类:【_设计模式浏览(1963

2018-11-15

再读设计模式7原则

    再读设计模式七原则GOF《设计模式》一书中提出了七条设计原则,七原则是一种理想状态的表达,但实际项目开发中可能会不得不打破这些原则的限制。 1. 单一职责原则(Single Responsibility Principle, SRP): There should never be more than one reason for a class to change. 言下之意做到类只承担单一职责(最细粒度)也就能尽可能地降低类变更的可能性,不同职责要分开单独定义。其实这一原则不仅仅适用于类,还适用于接口以及方法的设计; 2. 开闭原则(Open-Closed Principle, OCP): Softeware entities like classes,modules and functions should be open for extension but closed for mo

    阅读全文>>

作者:coody分类:【_设计模式浏览(1235

2018-11-15

设计模式学习-容易工厂模式(python3)

    设计模式学习-简单工厂模式(python3)参考链接, 在Python3环境下,调试实现了《大话设计模式》中简单工厂模式,通过定义单独的工厂类,完成对具体的产品的实例化 具体实现见代码: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # Date : 2017-10-15 21:46:28 4 # Author : John 5 # Version : V1.001 6 # Func : 7 8 9 class Operator(object): 10 """docstring for Operator""" 11 12 def __init__(self, NumberA=0, NumberB=0): 13 super(Operator, self).__in

    阅读全文>>

作者:coody分类:【_设计模式浏览(2005

2018-11-14

php设计模式 工厂模式跟单例模式

    php设计模式 工厂模式和单例模式一.单例模式//让该类在外界无法造对象//让外界可以造一个对象,做一个静态方法返回对象//在类里面通过让静态变量控制返回对象只能是一个。 单例模式的要点有三个: 一是某个类只能有一个实例; 二是它必须自行创建这个实例; 三是它必须自行向整个系统提供这个实例。 为什么要使用PHP单例模式 1. php的应用主要在于数据库应用, 一个应用中会存在大量的数据库操作, 在使用面向对象的方式开发时, 如果使用单例模式, 则可以避免大量的new 操作消耗的资源,还可以减少数据库连接这样就不容易出现 too many connections情况。 2. 如果系统中需要有一个类来全局控制某些配置信息, 那么使用单例模式可以很方便的实现. 这个可以参看zend Framework的FrontController部分。 3. 在一次页面请求中, 便于进行调

    阅读全文>>

作者:coody分类:【_设计模式浏览(1861

2018-11-12
上一页 1/266页 下一页