
设计模式
Defonds
Arcsoft云服务部门视频流服务产品技术经理。多年一线Java Web开发经历,专注高性能Web服务、Web项目架构设计。熟悉权限设计、服务集群、安全防御、设计模式、多线程并发编程、JVM内存管理、项目管理等Web开发所涉及领域以及各种开源Web开源框架,还做过一年JavaMobile开发,熟悉多个J2ME开源框架
展开
-
缓存应用:单例模式在缓存机制中的应用
缓存应用:单例模式在缓存机制中的应用 单例模式:顾名思义,一个系统中中定义的某类只有一个实例。 缓存应用:将要用到的资源提前从数据库或其他地方下载到内存,提高系统反应速度,增强用户体验满意度。 本例子来自于一个真实的项目,作者巧妙地将单例模式应用于缓存机制中。阅读本文,对单例模式,缓存机制都可以有进一步的认识和把握。 背景: Java原创 2009-11-04 08:27:00 · 6017 阅读 · 1 评论 -
世界上最大的 SOA
SOA 和 mashup - 两种驱动更快/更廉价服务开发的架构模式。它们都被用于构建可复用的服务 - 但是它们之间有哪些区别呢?SOA 其实是一套由 9 大设计原则组成用于构建高可复用服务的设计方法。如果我们根据这 9 大设计原则来对 mashup 进行评估的话,结果会怎样呢?√ 服务协同mashup 常常是基于诸如 XML、HTTP、REST、Web Services、RSS 以及 Atom翻译 2017-04-13 09:31:01 · 8788 阅读 · 0 评论 -
失败的 SOA 案例是什么样子的呢?一个反面模式
SOA 行为失败的原因有很多,但是最重要的一个原因是 - 缺乏服务复用。很难对 (上述案例的) 未来做出预测。如果你今天没有对自己的服务进行 SOA 化治理的需求,那么这种需求也就永远不会提上日程。按理来说对服务进行 SOA 化设计才应该是优先级高的需求。原文链接:This Is What Soa Failure Looks Like,发布日期:2011 年 2 月 18 日。作者简介John S翻译 2017-04-13 10:30:20 · 10581 阅读 · 1 评论 -
每位架构师都应该熟知的 10 个 SOA 设计模式
这 10 个 SOA 设计模式是如此之重要,其应用是如此之广泛,以至于它们都有些显而易见了。1. 服务无关服务无关实现对多种业务通用的逻辑。将服务无关的逻辑分离成离散的服务以方便服务的重用和整合。原则:复用,服务整合2. 服务无关的声明服务无关的服务应该显式声明它们是服务无关的。这样对于后续的设计者和架构者来说能够清楚哪些服务是被设计用来进行重复使用的。原则:复用,服务整合3. 服务无关的事务服务翻译 2017-01-22 15:59:51 · 11176 阅读 · 2 评论 -
现实世界里的 SOA
在现实世界中,SOA 常常是失败的。确保 SOA 成功的最好的实践是熟悉 SOA 的设计模式和成功案例。一个成功案例SOA 是解决数据管理问题的一个强大工具。在你的企业里是否存在数据不一致的问题?将存在这种问题的数据实体的 CRUD (Create、Read、Update 和 Delete) 都封装在同一个服务中。这是对你的数据进行集中控制和方便访问的一个简单办法。我们这个成功案例就是这样 - A翻译 2017-04-10 11:14:53 · 9728 阅读 · 2 评论 -
设计模式实战应用之四:简单工厂模式
简单工厂模式的定义 简单工厂模式是一个很基本的设计模式。Java API 里的 java.text.DateFormat 获得具体子类实例化的 getDateInstance 就是一个简单工厂的应用;SAX1 库里的 javax.xml.parsers.DocumentBuilderFactory、javax.xml.parsers.SAXParserFactory 也都是简单工厂的原创 2014-02-14 13:51:31 · 3378 阅读 · 2 评论 -
设计模式实战应用之五:工厂方法模式
工厂方法模式的应用相当广泛。工厂方法模式在 Java API 中的应用比比皆是:java.util.Collection 接口的 iterator 方法就是一个很著名的抽象工厂方法的示例;java.net.URLStreamHandlerFactory 的 createURLStreamHandler(String protocol) 也是工厂方法模式的一个很经典的应用,URLStreamHandlerFactory 定义了一个用来创建 URLStreamHandler 实例的 createURLStre原创 2014-07-30 18:23:37 · 6311 阅读 · 3 评论 -
设计模式实战应用之二:观察者模式
观察者模式的定义 观察者模式是应用最普遍的设计模式之一。著名的 MVC 模式就是观察者模式的应用之一。Gof 把观察者模式归类到对象行为型模式,《设计模式:可复用面向对象软件的基础》对观察者模式做出了明确的定义:“Define a one-to-many dependency between objects so that when one object changes st原创 2013-12-04 18:42:45 · 7362 阅读 · 1 评论 -
设计模式实战应用之三:装饰者模式
装饰者模式的定义 装饰者模式是应用最普遍的设计模式之一。伟大的 Java 缔造者们将设计模式的应用发挥到了极致,作为解释型语言的 Java 从诞生到今天始终能够作为最主流与应用最广泛的语言力压其他众多的开发语言,与缔造者们不遗余力地提高其健壮性、高性能是分不开的,而设计模式在其中无疑起了举足轻重的作用。Java API 中对装饰者模式应用的举例:Java I/O 库中 Buffere原创 2014-01-03 21:17:01 · 9957 阅读 · 3 评论 -
设计模式实战应用之一:策略模式
策略模式的定义 策略模式是应用最普遍的设计模式之一。Gof 把策略模式归类到对象行为型模式,《设计模式:可复用面向对象软件的基础》对策略模式做出了明确的定义:“Define a family of algorithms, encapsulate each one, and make theminterchangeable.Strategy lets the algorithm原创 2013-11-19 22:05:48 · 9209 阅读 · 6 评论 -
集群环境中的单例设计模式
何时使用(单例模式): 在创建线程池、缓存等对象时,我们可以使用单例模式来避免资源的浪费。但是如果你想要存储比如产品价格等全局数据的时候,单例模式就成了一种反面模式,要考虑用其他方法替代了。 注意:单例在这里变成了反面模式,我们可以用以下技术来进行避免: 1. 注入依赖; 2. 使用工厂设计模式; 3. 使用翻译 2013-10-14 10:55:26 · 10742 阅读 · 0 评论 -
复杂事件处理探险
灯光、音乐、白色礼服、领带、高雅的房间。这是什么?对于人类来讲回答这种问题很简单 - 这是因为我们人类的大脑能够很好地对事件的识别和解释进行适配。但是在技术的世界里,复杂事件处理 (Complex Event Processing,CEP) 仍然是一个具备挑战的新兴领域。事件是什么?事件就是改变。被称为事件监视器的工具被用来检测时间、状态、位置、水平等方面的改变。先设置一个临界值 - 突破这些临界翻译 2017-05-09 10:33:29 · 8714 阅读 · 1 评论