登录社区云,与社区用户共同成长
邀请您加入社区
这里有学习资源导航,有大牛推荐,有开源项目推荐,有开发视频推荐,有其它技术的导航;这是你不容错过的学习资源;
观察者模式(发布-订阅模式)观察者模式定义了一对多的依赖,当一个对象状态发生变化时,他的所有依赖者都会收到通知并自动更新。属于行为型模式。主要解决一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作关键代码在抽象类里又一个ArrayList存放观察者们优点观察者和被观察者是抽象耦合的建立一套触发机制缺点如果一个被观察者对象有很多直接或间接的...
参考:https://blog.csdn.net/weixin_48052161/article/details/119463786为什么需要命令模式?在我们的软件开发系统中,行为请求者和真正的执行者通常都是一种紧耦合关系,但是这种情况下,当我们需要修改行为时,如需要撤销或者重做时,只能修改请求者的源代码,命令模式会通过在行为请求者和执行者之间引入一个抽象接口来将请求者和执行者进行解耦,这样如果需
github地址:https://github.com/ZQCard/design_pattern单例模式:顾名思义就就是创建单个实例的模式。优点:保证一个类仅有一个实例,并提供一个访问它的全局访问点。避免使用的类频繁地创建与销毁以致于造成不必要的消耗。缺点:没有接口,不能继承,与单一职责原则冲突,一个类应该只关心内部逻辑,而不关心外面怎么样来实例化。应用实例:数据库...
我的推荐文字:J2EE领域资深专家,对企业级系统架构,设计模式,敏捷开发等方面有深入研究。长期从事电子政务领域的应用开发,开发项目涉及企业门户,内容管理,行政审批,公文流转,公文交换,绩效管理,企业应用集成,数据中心,业务智能和信息安全等领域。参与包括exo portal在内的多个开源项目的开发。 提名理由:综合排名第10名提名感言:首先感谢广大的博友对我的博客的关注,你们的关注是我写作的主要的动
一、装饰器模式简介装饰器模式可以动态给一个对象添加一些额外的职责,同时又不改变其结构。就象在墙上刷油漆.使用Decorator模式相比用生成子类方式达到功能的扩充显得更为灵活。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。装饰器模式的应用场景:1、在不修改源代码的情况下,扩展一个类的功能。 2、实现动态增加功能,动态撤销。
不久前,byvoid面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic...在跪拜之余我们不禁要想,和这些牛人比,作为绝大部分技术屌丝的同学们,是否真的与国内IT巨头遥不可及呢?当你打开这个帖子的时候,我已经默认你是此文的目标读者,也就是想进入国内一流互联网企业的非牛人应届生。你不需要拿NOI的奖,无需是开...
一,初始面向对象.面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西。优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身。应用场景:一旦完成基本很少改变的场景,著名的例子有Linux內核,git,以及Ap...
移动校园是我第一款在无线应用方面的开发!很多方面做的不是很好,像在代码的格式上就不是很规范,这是我以后要更加注意的问题! 客户端采用了MVC设计模式,由于小弟第一次采用这种模式,所以有什么不对的地方忘大家指出!小弟在这谢过了!源代码地址:http://www.j2megame.cn/attachment.php?aid=290
ACE 动态语言Ruby OTL boost 的一些学习资料 http://www.flyingdonkey.com/ace/这里是ACE中文文档的翻译,感谢马维达做的工作。这是ACE的主页http://www.cs.wustl.edu/~schmidt/ACE.html有人称ACE是用来阅读C++98之后的很好的源代码范本,我看了几天文档和代码下来,确实感觉很好理解,并且实际统一了很多O
my git : https://github.com/hejiawang设计模式之禅——亨元模式 一、亨元模式的定义 亨元模式是池技术的重要实现方式;我理解的就是,在使用一个对象时,如果这个对象在内存中有,就从内存中取出使用,如果没有,就新建一个这个对象,然后存到内存中去。这样能够使用共享对象,能够有效的支持大量的细颗粒对象。 亨元模式有两个要求:细...
大家好,今天介绍一下工厂模式。首先,我们知道简单工厂模式的缺点,那就是它是写死的,拿我上个写得例子来说 简单工厂如果要扩展的话,则要修改源代码,这样如果以后产生的Phone类型很多,那么就要一直修改,代码维护成本高(如果万一你哪个类型写错了怎么办)所以出现了工厂模式。工厂模式简单来说就是一个工厂对应一个产品。比如说IPhoneFactory产生IPhone系列的手机,XiaoMi
source:http://baike.baidu.com/view/73626.htmAOP面向方面编程:Aspect Oriented Programming AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设
前端路由是我们前端开发日常开发中经常碰到的概念,在下在日常使用中知其然也好奇着所以然,因此对 vue-router 的源码进行了一些阅读,也汲取了社区的一些文章优秀的思想,于本文记录总结作为自己思考的输出,本人水平有限,欢迎留言讨论~目标 vue-rouer 版本:3.0.2vue-router源码注释:vue-router-ana...
在 设计模式系列之状态模式(4) 中介绍了状态机和Stateless开源状态机库。本文通过Stateless来实现 设计模式系列之状态模式(2) 中提到的审批流程。请假流程图Stateless实现直接上代码:using Stateless;using Stateless.Graph;const string project_manager_audit = "项目经理审批";const string
文章初衷为了应对将来在线(特别是无线端)业务量的成倍增长,后端服务的分布式化程度需要不断提高,对于服务的延迟和容错管理将面临更大挑战,公司框架和开源团队选择内部推广Netflix的Hystrix,一是为了推进各部门的服务使用覆盖率,二是为了增加C Sharp语言版本的参与度(目前公司至少三成服务由.NET编写)。该博文属于个人对Hystrix研究和实践经验。什么是Hystrix?Hys...
策略模式介绍1.在策略模式中,一个行为或其算法可以在运行时更改,这种类型的设计模式属于策略模式。2.在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的choose对象,策略对象改变choose对象的执行算法。3.测试代码 https://github.com/644968328/Design-patterns优点1.可以动态的改变对象的行为。2.避免使用多重条...
社区文章推荐S.O.L.I.D 面向对象设计和编程(OOD&OOP)笔记浅谈 Laravel 设计模式PHP 完整实战 23 种设计模式Laravel Dependency Injection (依赖注入) 概念详解浅谈 Laravel Container 及其项目实践关于 Repository 的设计模式设计模式详解及 PHP 实现「HEAD-FIRST」之观察者模式...
你是PHP菜鸟,如果你: 1. 不会利用如phpDoc这样的工具来恰当地注释你的代码 2. 对优秀的集成开发环境如Zend Studio或Eclipse PDT视而不见 3. 从未用过任何形式的版本控制系统,如Subclipse 4. 不采用某种编码与命名标准,以及通用约定,不能在项目开发周期里贯彻落实 5. 不使用统一开发方式 6....
《大话设计模式》阅读笔记和总结。原书是C#编写的,本人用Java实现了一遍,包括每种设计模式的UML图实现和示例代码实现。目录:设计模式Github地址:DesignPattern说明定义:职责链模式(Chain of Responsibility),使多个对象都有机会处理请求,从而避免请求的发送...
并发模式为在多线程或进程间共享资源而设计的2种模式:·主动对象设计模式将方法执行和方法调用分离开来。目的是加强并发和简化对驻留在自身控制线程中的对象的同步访问。·监视器对象设计模式同步化并发方法的执行,以确保同一时刻在对象内部只有一个方法运行。它也允许对象的方法协作调度方法的执行顺序。下面2种模式定义了高层并发体系结构:·半同步/半异步体系结构模式将并发系统中...
一、编程字体选择 1、选择等宽字体 包括Courier New ,Consolas,Source Code Pro(推荐) 2、环境搭建(建议easyPHP)二、开发符合PSR规范的基础框架 PSR: 1、命名空间和类文件的绝对路径必须一致 2、类名必须大写; 3、除入口文件外,其他的 ”.php"必须只有一个类 符合PSR-0规...
本文摘自书籍《设计模式》此系列文章GitHub地址结构型 - 组合模式(Composite Pattern)定义组合多个对象形成属性结构以表示“整体与部分”的结构层次。组合模式对单个对象(叶子对象)和组合对象(容器对象)的使用具有一致性。属于对象结构模式。想象成树型结构即可,包含叶子节点(叶子对象)与非叶子节点(容器对象)。模式结构public interfac...
12 Things Every Programmer Should Know1.充满热情, 喜欢你的工作 创造性 做得最好 比昨天更好2.热爱你的代码 为人写代码,而不是为机器写代码 写干净的代码3.版本控制 备份代码 跟踪变更 经常commit 如果build出错就不要commit4.阅读代码 在你成为一个好的作家之前,首先是一个好的读者。70%时间在读,30%在写。5.实践 实践 再实践 在公
软件工程第四次作业1. 题目要求首先在同学中找一个同伴,范围不限,可以在1~5班中随意组合,建议尽量不要找同组的成员,女同学尽量找男同学结对,但是不做强制要求;从以往个人完成的项目中选择一个作品,例如:以往的数据结构课程设计或者其它具有比较完整功能的小系统,代码至少要大于100行;将代码上传至个人GitHub或Coding.net系统中,并将代码地址交给对方;对同伴的作品进行代码复审,...
MyBatis总结MyBatis 简介 1. Mybatis 开源免费框架.原名叫iBatis,2010在google code,2013年迁移到 github 2. 作用: 数据访问层框架. 2.1 底层是对 JDBC 的封装. 3. mybatis 优点之一: 3.1 使用mybatis 时不需要编写实现类,只需要写需要...
Spring核心知识Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程.
在说Hadoop之前,作为一个铁杆粉丝先粉一下Google。Google的伟大之处不仅在于它建立了一个强悍的搜索引擎,它还创造了几项革命性的技术:GFS,MapReduce,BigTable,即所谓的Google三驾马车。Google虽然没有公布这几项技术的实现代码,但它发表了详细的设计论文,这给业界带来了新鲜气息,很快就出现了类似于Google三驾马车的开源实现,Hadoop就是其中的一...
1、几个相关的概念白盒测试——把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员是公开的。回归测试——软件或环境的修复或更正后的“再测试”,自动测试工具对这类测试尤其有用。单元测试——是最小粒度的测试,以测试某个功能或代码块。一般由程序员来做,因为它需要知道内部程序设计和编码的细节。JUnit ——是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单...
目录一 概述二 变更控制三 版本控制四 备份计划五 SVN六 如果利用SVN更加高效地工作七 分支与合并八 SCM不是物神一 概述 软件配置管理(SCM)是“系统化地定义软件项目工作和处理变化,以使项目保持其完整性”的实践活动。SCM关注于程序的需求、源码、文档和测试数据等所有项目相关的产物。配置管理策略将决定如何管理项目中发生的一切变化。因此,它记录了你...
1. 根据目的来分根据模式是用来完成什么工作来划分,这种方式可分为创建型模式、结构型模式和行为型模式3 种。创建型模式:用于描述“怎样创建对象”,它的主要特点是“将对象的创建与使用分离”。GoF 中提供了单例、原型、工厂方法、抽象工厂、建造者等 5 种创建型模式。结构型模式:用于描述如何将类或对象按某种布局组成更大的结构,GoF 中提供了代理、适配器、桥接、装饰、外观、享元、组合等 7 种结构型模
首先在SSCLI2.0源代码的\clr\src\vm\comutilnative.cpp文件中的GCInterface类的CollectGeneration方法上下个断点,该宏方法主要实现了一个调用转换:/*==============================CollectGeneration===============================**Action: C...
想起写这篇文章是在看侯杰先生的《深入浅出MFC》时, 突然觉得自己在大学这几年关于游戏编程方面还算是有些心得,因此写出这篇小文,介绍我眼中的游戏程序 员的书单与源代码参考。一则是作为自己今后两年学习目标的备忘录,二来没准对别人也有点参考价值。我的原则是只写自己研究过或准备研究的资料,所以内容无 疑会带上强烈的个人喜好色彩, 比如对网络,数...
这里先贴一下原文内容:从https://github.com/oldratlee/translations/blob/master/generic-io-api-in-java-and-api-design/README.md上摘入。原文链接:A generic input/output API in Java-Rickard Öberg(PS:文章原始链路已失效)译文发在:【译】...
行为型模式不仅仅关注类和对象的结构,而且重点关注它们之间的相互作用。通过行为型模式,可以更加清晰地划分类与对象的职责,并研究系统在运行时实例对象 之间的交互。在系统运行时,对象并不是孤立的,它们可以通过相互通信与协作完成某些复杂功能,一个对象在运行时也将影响到其他对象的运行。行为型模式同样也分为类行为型模式和对象行为型模式。类行为型模式:类的行为型模式使用继承关系在几个类之间分配行为,类行为型模式
本系列文章将整理到我在GitHub上的《Java面试指南》仓库,更多精彩内容请到我的仓库里查看https://github.com/h2pl/Java-Tutorial喜欢的话麻烦点下Star、fork哈文章也将发表在我的个人博客,阅读体验更佳:www.how2playlife.com本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。首先来个总结,具体的某个模式可...
窗体间传值今天得空,刚好看到网上好多人再找winform窗体间传值的问题,由于昨天项目的优化的感觉不错,就写了个C# winform窗体间传值的demo,希望能给需要的人的带来帮助;工程的源代码地址:https://github.com/yes-or-no/WinFormTransValueDemoByDelOrEvent.gitC#winform窗体间传值,三种方法示例,注释详细。...
摘要 Java开发人员做出的有关架构的最重要的决定之一便是如何使用Java异常模型。Java异常处理成为社区中讨论最多的话题之一。一些人认为 Java语言中的已检查异常(Checked Exceptions)是一次失败的尝试。本文认为错误并不在于Java模型本身,而在于Java库设计人员没有认识到方法失败的两个基本原因。本文提倡 思考异常情况的本质,并描述了有助于用户设计的设计模式。最后,本..
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~本文由鹅厂优文发表于云+社区专栏作者:朱雷 | 腾讯IEG高级工程师『Python 工匠』是什么?我一直觉得编程某种意义是一门『手艺』,因为优雅而高效的代码,就如同完美的手工艺品一样让人赏心悦目。在雕琢代码的过程中,有大工程:比如应该用什么架构、哪种设计模式。也有更多的小细节,比如何时使用异常(Exceptions)...
什么是KISSYhttp://github.com/kissyteam/kissy什么是loader用过yui的人一定不会对yui-loader陌生,yui doc中对loader是如此描述的:TheYUI Loader Utility is a client-side JavaScript component that allowsyou to load spec...
文章目录UML图类图概述类图的作用类图表示法类的表示方式类与类之间关系的表示方式关联关系聚合关系组合关系依赖关系继承关系实现关系Reference本篇文章已同步更新至github仓库JavaSummary,欢迎star !UML图统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。
本篇主要给大家说明下在V1.0中,计划开发的任务的状态。按照国际惯例、上大表格开发计划状态编号模块状态说明1分离Utils、Extend、UI√在V0.2版本中,是集成在一个项目里,现在已经各有自独立成4个项目文件了,需要时才引用。2TableContext√表上下文3TableSet...
单例模式是设计模式中使用很频繁的一种模式,在各种开源框架、应用系统中多有应用.像在ORM框架中就使用频繁。一、定义与结构单例模式又叫做单态模式或者单件模式。在GOF书中给出的定义为:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式中的“单例”通常用来代表那些本质上具有唯一性的系统组件(或者叫做资源)。比如文件系统、资源管理器等等。二、单例模式的目的...
《大话设计模式》阅读笔记和总结。原书是C#编写的,本人用Java实现了一遍,包括每种设计模式的UML图实现和示例代码实现。目录:设计模式Github地址:DesignPattern说明定义:桥接模式(Bridge),将抽象部分与它的实现部分分离,使它们都可以独立地变化。UML图:代码实现:Implementor类abstract class Im...
github地址:https://github.com/cheesezh/python_design_patterns简单工厂模式 v.s. 工厂方法模式以简单计算器为例,对比一下简单工厂模式和工厂方法模式的区别。简单工厂模式from abc import ABCMeta, abstractmethodclass Operation():"""抽象产品类(运算符类...
Spring 简介Spring是一个Java平台的开源框架,为开发Java应用程序提供全面的基础架构支持。Spring处理基础架构,以便开发人员可以专注于应用程序。Spring使开发人员能够使用"纯Java对象"(POJO)构建应用程序,并将服务非侵入性的应用于POJO。虽然Java平台提...
本节书摘来自异步社区《MPLS在Cisco IOS上的配置》一书中的第2章,第2.2节,作者 【美】Lancy Lobo, CCIE #4690 , Umesh Lakshman,更多章节内容可以访问云栖社区“异步社区”公众号查看2.2 信元模式MPLS的概述、配置和验证MPLS在Cisco IOS上的配置本节介绍了在ATM网络中配置信元模式MPLS...
案例代码链接:https://github.com/rainweb521/My-tutorial/tree/master/Design_patterns什么是适配器因为现实中到处都有适配器。比方说: 如果你需要在欧洲国家使用美国制造的笔记本电脑,你可能需要使用个交流电的适配器,适配器的作用:它位于美式插头和欧式插座的中间,它的工作是将欧式插座转换成美式插座,好让美式插头可以插进这个插座得到电力..
文章目录前言概述结构案例实现优缺点使用场景JDK源码解析前言关注我,持续更新从零开始学习Java的过程如果有兴趣想了解更多,欢迎访问个人博客,记录了全过程如果有帮助到你,希望大佬们能在Github给我一个Star支持一下,谢谢!QQ交流群(秃头俱乐部):1046260719,期待你的加入概述给出一个例子,比如我们去旅游出行模式有很多种,可以骑自行车、坐汽车、坐火车、坐飞机。再给出一个例子,作为程序
1. Java语言基础 谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的《Thinking in Java》。它是一本写的相当深刻的技术书籍,Java语言基础部分基本没有其它任何一本书可以超越它。该书的作者Bruce Eckel在网络上被称为天才的投机者,作者的《Thinking in C++》在1995年曾获...
设计模式
——设计模式
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net