![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
限量发行x
限量发行
展开
-
单例模式--双重检查锁定
原文地址:http://www.ibm.com/developerworks/cn/java/j-dcl.html 单例创建模式是一个通用的编程习语。和多线程一起使用时,必需使用某种类型的同步。在努力创建更有效的代码时,Java 程序员们创建了双重检查锁定习语,将其和单例创建模式一起使用,从而限制同步代码量。然而,由于一些不太常见的 Java 内存模型细节的原因,并不能保证这个双重检转载 2016-03-12 20:16:42 · 467 阅读 · 0 评论 -
30 多年的编码经验浓缩成的 10 条最佳实践
摘要: 编写更好的代码的 10 个技巧 所以,如何写出一手好代码? 良好的代码更易于阅读、理解、调试和修改,最重要的是它的缺陷也更少。显然,编写良好的代码需要更多的时间,但是从长远来看,它也具有更多的价值,因为这降低了维护的成本,而且具有更好的可重用性。 事实上,我们可以将好的代码等同为可重用的代码,这也是本篇文章罗列的许多技巧背后的驱动原则。作为一个要实现特定功能的开发者,代码转载 2017-09-03 21:00:58 · 224 阅读 · 0 评论 -
适配器模式 : 农村小伙娶乌克兰美女语言不通 翻译软件立功
翻译软件可以化腐朽为神奇,软件开发过程中是否可以参考呢? 翻译软件把小伙的汉语转换成了乌克兰语,在软件开发过程中这就是一种“复用”! 那有什么设计模式可以达到这种效果呢? 我们先来模拟实现下这个翻译过程: a.首先定义一个小目标,就是可以跟妹子说乌克兰语,萨瓦迪卡爱米思油~ /** * description:目标:说乌克兰语 * * author: shixin转载 2016-12-11 21:47:20 · 663 阅读 · 0 评论 -
Java单例你所不知道的事,与Volatile关键字有染
如果问一个码农最先接触到的设计模式是什么,单例设计模式一定最差也是“之一”。 单例,Singleton,保证内存中只有一份实例对象存在。 问:为什么要有单例? 答:此对象可能会为成千上百的线程所用,当然不希望不希望每次使用都要new一个新的对象,也可能是使用不多但是初始化需要消耗大量内存,也可能需要消耗大量cpu运算,又可能仅仅是为了为实例内进行数据管理同转载 2016-03-19 21:53:12 · 296 阅读 · 0 评论 -
面向对象思想的头脑风暴(一)
团队中对面向对象的理论研究已经做了很长时间,大家对接口,封装,继承,多态以及设计模式什么的似乎都能说出点东西来,但当看代码时发现大家其实并不十分清楚具体怎么做,所以我就想了个题目让大家来做,然后进行了一次头脑风暴,过程记录如下: 题目内容: 需要处理三种产品图书,数码,消费,需要计算产品的税率,图书的税率为价格的0.1,数码和消费类产品为价格的0.11,需要获得三种产品的信息,图书和消转载 2016-03-25 17:32:46 · 334 阅读 · 0 评论 -
依赖注入原理
0. 前言 在软件工程领域,依赖注入(Dependency Injection)是用于实现控制反转(Inversion of Control)的最常见的方式之一。本文主要介绍依赖注入原理和常见的实现方式,重点在于介绍这种年轻的设计模式的适用场景及优势。 1. 为什么需要依赖注入 控制反转用于解耦,解的究竟是谁和谁的耦?这是我在最初了解依赖注入时候产生的第一个问题。 下面我引转载 2016-07-31 21:49:16 · 410 阅读 · 0 评论 -
单例模式的七种写法
原文出处:http://cantellow.iteye.com/blog/838473 第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){} public static S转载 2016-03-12 20:10:17 · 301 阅读 · 0 评论 -
高性能IO设计的Reactor和Proactor模式
在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。 在比较这两个模式之前,我们首先的搞明白几个概念,什么是阻塞和非阻塞,什么是同步和异步, 同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,而转载 2016-05-29 17:47:14 · 326 阅读 · 0 评论 -
Reactor模式
Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些。通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或者叫召唤兽。 并发系统常使用reactor模式,代替常用的多线程的处理方式,节省系统的资源,提高系统的吞吐量。 先用比较直观的方式来介绍一下这种方式的优点,通过和常用的转载 2016-05-29 17:19:59 · 297 阅读 · 0 评论 -
MVP for Android: 如何组织显示层的内容
MVP(Model View Presenter)模式是从众所周知的MVC(Model View Controller)模式中派生出来的,目前在Android开发中变得越来越重要。越来越多的人在谈论MVP,但实际上可靠的、结构化的资料很少。这就是我写这个博客的原因,通过它鼓励大家讨论,然后把我们学到的MVP知识以最好的方式应用到我们项目中来。 什么是MVP? MVP模式允许转载 2016-03-17 15:30:05 · 419 阅读 · 0 评论 -
MVC vs. MVP vs. MVVM
1 简介 英文原文:MVC vs. MVP vs. MVVM 三者的目的都是分离关注,使得UI更容易变换(从Winform变为Webform),使得UI更容易进行单元测试。 2 MVC/MVP 2.1 MVC 1、View接受用户的交互请求 2、View将请求转交给Controller 3、Controller操作Mode原创 2016-03-14 15:31:38 · 354 阅读 · 0 评论