
设计模式
pi9nc
这个作者很懒,什么都没留下…
展开
-
Table-driven Approach
By Peter Kankowski, 29 Sep 2009 4.63 (21 votes) Rate this:vote 1vote 2vote 3vote 4vote 5转载 2014-05-29 15:29:07 · 1136 阅读 · 0 评论 -
领域驱动设计(Domain Driven Design)参考架构详解
[置顶] 领域驱动设计(Domain Driven Design)参考架构详解2011-08-12 11:33 9435人阅读 评论(8) 收藏 举报domainservice领域模型applicationlayer目录(?)[+]领域驱动设计(Domain Driven Design)参考架构详解摘要本文将介转载 2014-01-01 21:36:13 · 842 阅读 · 0 评论 -
设计模式--Mixin模式
设计模式--Mixin模式分类: design&architecture2011-09-09 15:27 322人阅读 评论(0) 收藏 举报设计模式decoratorclassjavabasicnullAdapter模式:把一个接口转换为另一个接口。Decorator模式:给一个对象动态增加功能。比如Java的 new BufferedOutputStre转载 2013-12-14 10:44:12 · 903 阅读 · 0 评论 -
“池化技术”漫谈 - 线程池,内存池,连接池……
“池化技术”漫谈 - 线程池,内存池,连接池……分类: C++ Win322008-10-25 21:31 5694人阅读 评论(0) 收藏 举报alignment数据库连接池nulldelete性能优化工作池化技术 - 简单点来说,就是提前保存大量的资源,以备不时之需,O(∩_∩)O,对于线程,内存,oracle的连接对象等等,这些都是资源,程序中当你创建一个线程转载 2013-12-05 14:33:03 · 1076 阅读 · 0 评论 -
4 多线程应用:数据库连接池
4 多线程应用:数据库连接池分类: 读书笔记2009-11-09 15:46 747人阅读 评论(0) 收藏 举报数据库连接池多线程object数据库exceptionstring首先说明一下:这个例子是来源于【C#线程参考手册】参考手册内的一个例子,在这个我只是想研究一下她的设计原理。 具体好用不好用,因为没有做具体项目的测试,所以提醒大家注意。转载 2013-12-05 14:30:29 · 2763 阅读 · 0 评论 -
什么是java future模式
什么是java future模式什么是Future?用过Java并发包的朋友或许对Future (interface) 已经比较熟悉了,其实Future 本身是一种被广泛运用的并发设计模式,可在很大程度上简化需要数据流同步的并发应用开发。在一些领域语言(如Alice ML )中甚至直接于语法层面支持Future。这里就以java.util.c转载 2013-12-05 14:19:07 · 881 阅读 · 0 评论 -
深入浅出Future Pattern
深入浅出Future Pattern2013年6月24日小武哥发表评论阅读评论前几天看hdfs QJM的代码,里面看到一个ListenableFuture,说实话对于Java,目前我还只是通过看代码,遇到没见过的再去查的方式,也着实是没有时间和精力再去通篇研读诸如《thinking in Java》这样的大砖块了,现在这样的方式,目前来说应该是够用了。重点还是放在系统和转载 2013-12-05 14:06:09 · 1042 阅读 · 0 评论 -
认识EIT造形---android 架构
认识EIT造形By 高焕堂misoo.tw@gmail.com重要参考文章智慧化潮流的敏捷顶层设计方法论从Android框架代码学习EIT造形一、前言当你无法删除身外物(如软件或太阳星系)的复杂关系时;不要难过,可以简化了脑海里的想象,提升你内心面对复杂事物的能力。造形(Form)可简化了脑海里的想象,提升内心面对复杂事物的能力。没有简单,我转载 2013-11-04 21:28:25 · 7844 阅读 · 9 评论 -
ClassLoader and 插件化设计
ClassLoader一个经常出现又让很多人望而却步的词,本文将试图以最浅显易懂的方式来讲解 ClassLoader,希望能对不了解该机制的朋友起到一点点作用。要深入了解ClassLoader,首先就要知道ClassLoader是用来干什么的,顾名思义,它就是用来加载Class文件到JVM,以供程序使用的。我们知道,java程序可以动态加载类定义,而这个动态加载的机制就是通过Class转载 2013-11-04 21:10:29 · 3449 阅读 · 0 评论 -
Understanding Object Oriented Programming
Understanding Object Oriented ProgrammingJoseph BerginPace Universityjbergin@pace.eduRussel WinderKing's College London russel@dcs.kcl.ac.ukThe code on this page grew out of a discussi转载 2013-09-04 13:56:04 · 637 阅读 · 0 评论 -
面向对象之继承和组合浅谈
面向对象之继承和组合浅谈2010-05-03 18:03 by 破狼, 2377 阅读, 3 评论, 收藏, 编辑 最近一个师弟问某实现是该用对象持有(其实就是组合)还是集成关系实现好。所以就在这里简单的浅谈一下,仅是个人观点,仅供参考。如果写的不对的地方请指出。 首先它们都是实现系统功能重用,代码复用的最常用的有效的设计技巧,都是在设计模式中的基础结构。相信大转载 2013-09-10 13:37:37 · 761 阅读 · 0 评论 -
Proactor和Reactor模式_继续并发系统设计的扫盲
Proactor和Reactor模式_继续并发系统设计的扫盲6.6.2008Kevin LynxProactor和Reactor都是并发编程中的设计模式。在我看来,他们都是用于派发/分离IO操作事件的。这里所谓的IO事件也就是诸如read/write的IO操作。"派发/分离"就是将单独的IO事件通知到上层模块。两个模式不同的地方在于,Proactor用于异步IO,而Reacto转载 2013-12-25 19:32:07 · 709 阅读 · 0 评论 -
表驱动法应用的难点
分类: Coding2013-07-31 23:21550人阅读评论(0)收藏举报coding好的代码总是将复杂的逻辑以分层的方式降低单个层次上的复杂度。复杂与简单有一个相互转化的过程。1. 表驱动法在涉及编码解析的功能时,常常有一个带有长长一串case的switch,而且会不断增长。为每一个case搞个类就太夸张了,还是用表驱动(Table Driven)转载 2014-04-08 20:43:28 · 2517 阅读 · 0 评论 -
静态数组表示的有限状态机
2013-07-13 16:18 745人阅读 评论(1) 收藏 举报前段时间搞无状态的TCP conntrack,发现其中一个静态数组表示的TCP状态机很是不错,希望这种思想以后可以用在实际的工作中,直说吧,就是这个状态机数组:[plain] view plaincopystatic const u8 tcp_conntracks[2][6转载 2014-04-08 20:05:11 · 2302 阅读 · 0 评论 -
表驱动法应用的难点
表驱动法应用的难点分类: Coding2013-07-31 23:21 519人阅读 评论(0) 收藏 举报coding目录(?)[+]好的代码总是将复杂的逻辑以分层的方式降低单个层次上的复杂度。复杂与简单有一个相互转化的过程。1. 表驱动法在涉及编码解析的功能时,常常有一个带有长长一串case的switch,而且会不转载 2014-03-21 15:32:37 · 1066 阅读 · 0 评论 -
面向对象编程风格 VS 基于对象编程风格(boost::bind/function)
面向对象编程风格 VS 基于对象编程风格(boost::bind/function)分类: muduo网络库从零开始学C++2013-10-22 11:34580人阅读评论(2)收藏举报基于对象面向对象boostbindfunction本文主要通过实现Thread 类来展现两种编程风格的不同点。很多人没有区分“面向对象”和“基于对象”两个不同的概念。转载 2014-02-18 19:05:10 · 1012 阅读 · 0 评论 -
android模块化app开发笔记-1环境搭建
android模块化app开发笔记-1环境搭建分类: android2013-10-23 09:06 773人阅读 评论(2) 收藏 举报OSGI模块化Androidapkplug由于项目做的越来越大,业务上就产生了要将app模块化的需求,所谓模块化就是将一个app分成不同功能的小模块(插件),当安装程序的时候并不需要将所有模块一次全部安装,用户可以在需要的时候转载 2014-02-17 15:48:58 · 1391 阅读 · 0 评论 -
shared_ptr:弱回调技术
shared_ptr:弱回调技术分类: Linux多线程编程2013-10-24 23:34 287人阅读 评论(0) 收藏 举报shared_ptr弱回调技术 场景:公司company存有公司员工的信息,现在给定一个查询接口,给定员工姓名在公司中查找若找到返回员工信息,若没有找到在公司录入这个员工信息。 1 若简单在公司co转载 2014-02-17 09:35:17 · 2208 阅读 · 0 评论 -
论道——工厂模式与装饰模式的融合
[置顶] 论道——工厂模式与装饰模式的融合分类: web 三层2013-11-06 16:30 393人阅读 评论(36) 收藏 举报目录(?)[+] 在做项目之前总绝得需求为王很对,但是到自己的代码中,总是感觉不得要领,一直到我们做考试系统,大家讨论需求的时候,需求的各种乱,各种不知道怎么平衡,各种讨论,再到一个个的确定,一个个得转载 2014-01-25 14:32:19 · 1117 阅读 · 0 评论 -
GUI为什么不设计为多线程
GUI为什么不设计为多线程分类: 杂谈 java2013-10-20 23:51 438人阅读 评论(0) 收藏 举报多线程gui线程安全目录(?)[+]在我们这批新人转正评审的时候,我师父问了我的小伙伴一个问题:为什么一些更新界面的方法只能在主线程中调用?师父没有问我这个问题,让知其然但不知其所以然的我有种侥幸逃过一难的心情。我想如果回转载 2014-01-15 14:23:18 · 2070 阅读 · 0 评论 -
重构初体验
重构初体验设计大师Martin Fowler 在《重构——改善既有代码的设计》一书中,以其精妙的概括能力,彻底对重构技术作了全方位的总结。该书既具备大百科全书般提纲挈领的重构大纲,同时更通过实例展现了在软件设计中重构的魅力。有感于重构艺术予我的震撼,我逐渐尝试在项目设计中开始重构之旅。在这个旅程中,存在尝试的犹豫和领悟的感动,然而最终却令我折服。如今,我希望能通过一转载 2013-04-16 11:03:41 · 681 阅读 · 0 评论 -
一些软件设计的原则
2011年4月25日陈皓发表评论阅读评论19,669 人阅读 以前本站向大家介绍过一些软件开发的原则,比如优质代码的十诫和Unix传奇(下篇)中所以说的UNIX的设计原则。相信大家从中能够从中学了解到一些设计原理方面的知识,正如我在《再谈“我是怎么招聘程序”》中所说的,一个好的程序员通常由其操作技能、知识水平,经验层力和能力四个方面组成。在这里想和大家说说设计中的转载 2013-01-12 15:42:09 · 595 阅读 · 0 评论 -
C++中实现回调机制的几种方式
C++中实现回调机制的几种方式时间:2012-08-29 09:47点击:70 次 【大 中 小】(1)Callback方式Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型。比如下面的示例代码,我们在Download完成时需要触发一个通知外面的事件:typedef voi转载 2013-01-11 19:24:59 · 566 阅读 · 0 评论 -
c++ fast Delegate 实现代码
c++ fast Delegate 实现代码分类: 类库&工具2010-02-23 14:54 2512人阅读 评论(0) 收藏 举报 委托这种机制,只有当代码写多了,才会发现它多么有用,虽然设计模式里的模板方法很好,但为了实现它而进行大量的类重载有时候可能得不偿失,然而c++本省并不支持委托,以下是一个非常强大的委托实现代码,直接可以拿来大量使用的。转载 2013-01-11 19:21:12 · 898 阅读 · 0 评论 -
一道考验你设计能力的C++编程题
一道考验你设计能力的C++编程题看到这道题,我们就开始设计这个图像类了,按照面向对象“依赖倒置”的设计原则,我们站在客户的立场,来考虑我们这个类该提供哪些接口,很快我们设计了如下一个类class CSimplePicture{public:CSimplePicture(char* init[], int nCount); CSimplePicture(CSimple转载 2013-01-11 18:25:09 · 1108 阅读 · 0 评论 -
AOP面向方面编程
面向对象的编程(OOP)方法是在面向过程的编程方法基础上进行的改进,而面向方面编程(AOP)方法又是在面向对象编程(OOP)方法的基础上进行改进而来的一种创新的软件开发方法。1.面向领域不同 AOP和OOP虽然在字面上十分相似,但是却是面向不同领域的两种设计思想。OOP(面向对象编程)针对问题领域中以及业务处理过程中存在的实体及其属性和操作进行抽象转载 2013-04-27 15:29:36 · 1136 阅读 · 0 评论 -
如何成为一名架构师
Daniel Mohl是一名专业的软件工程师/架构师,他的兴趣包括理解各种复杂的编程语言、企业应用架构以及如何搭建业务与技术,他通晓F#、C#、CoffeeScript、JavaScript、Erlang、ASP.NET、MVC、WPF、WCF、Sliverlight、SQL Server等技术。有着多年的软件开发经验。他经常会被一些有潜力和有前途的程序员问到:“我要怎么做才能成为一名架构转载 2013-04-27 15:57:03 · 762 阅读 · 0 评论 -
从上百幅架构图中学得半点大型网站建设经验(上)
从上百幅架构图中学得半点大型网站建设经验(上)分类: 27.Architecture design2011-10-01 17:27 18882人阅读 评论(21) 收藏 举报sharding数据库yahoo架构设计twittermysql目录(?)[+] 从上百幅架构图中学大型网站建设经验(上)引言转载 2013-05-02 22:24:16 · 911 阅读 · 0 评论 -
J2EE (九) 静态代理和动态代理--间接“美”
J2EE (九) 静态代理和动态代理--间接“美”分类: J2EE2013-07-22 00:51 489人阅读 评论(5) 收藏 举报 生活中有很多例子是间接来控制和访问的,比如你找一个人不自己亲自去,而是让别人代替去做这就是最简单的代理模式,是一种间接通信的例子,对象间的间接通信也同样是面向对象设计中的一条重要的“审美观”。间接通信可以让对象间耦合性降转载 2013-07-23 19:57:12 · 628 阅读 · 0 评论 -
python 单例模式
python单例模式分类: python 2013-07-20 13:04 103人阅读 评论(0)收藏 举报[python] view plaincopyprint?__new__()在__init__()之前被调用,用于生成实例对象。利用这个方法和类的属性的特点可以实现设计模式的单例模式。单例模式是指创建唯一对象,单例模式设计的类只能转载 2013-07-21 11:17:56 · 1320 阅读 · 0 评论 -
proxy
1.1.1 摘要 今天是父亲节,首先祝爸爸父亲节快乐身体健康,随着互联网飞速的发展,现在许多软件系统都提供跨网络和系统的应用,但在跨网络和系统应用时,作为系统开发者并不希望客户直接访问系统中的对象。其中原因很多考虑到系统安全和性能因素,这时候聪明的开发者想到了在客户端和系统端添加一层中间层----代理层,也是即将要介绍的代理模式。 定义代理模式(Prox转载 2013-06-27 22:01:10 · 780 阅读 · 0 评论 -
设计模式——小单例有大秘密
设计模式——小单例有大秘密分类: 架构设计 设计模式2013-06-17 08:58 6908人阅读 评论(153) 收藏 举报单例模式大家并不陌生,也都知道它分为什么懒汉式、饿汉式之类的。但是你对单例模式的理解足够透彻吗?今天我带大家一起来看看我眼中的单例,可能会跟你的认识有所不同。下面是一个简单的小实例:[java] view p转载 2013-06-27 14:22:56 · 604 阅读 · 0 评论 -
Qt源码分析之信号和槽机制
Qt源码分析之信号和槽机制分类: Qt学习2012-02-07 09:42 131人阅读 评论(0) 收藏 举报qtsignalcallbackparameterstypesobjectQt的信号和槽机制是Qt的一大特点,实际上这是和MFC中的消息映射机制相似的东西,要完成的事情也差不多,就是发送一个消息然后让其它窗口响应,当然,这里的消息是广义的说法,简单点说转载 2013-07-11 14:27:31 · 761 阅读 · 0 评论 -
(六)观察者模式详解(包含观察者模式JDK的漏洞以及事件驱动模型)
(六)观察者模式详解(包含观察者模式JDK的漏洞以及事件驱动模型)分类: java 设计模式2013-06-16 00:42 314人阅读 评论(0) 收藏 举报设计模式观察者模式事件驱动模型事件驱动观察者 作者:zuoxiaolong8810(左潇龙),转载请注明出处。 本章我们讨论一个除转载 2013-06-16 15:25:20 · 3631 阅读 · 1 评论 -
学习插件技术原理后的一点认识
学习插件技术原理后的一点认识2005-04-28 16:43 5803人阅读 评论(4) 收藏 举报平台扩展框架工具图形测试 插件的本质在于不修改程序主体(平台)的情况下对软件功能进行扩展与加强,当插件的接口公开后,任何公司或个人都可以制作自己的插件来解决一些操作上的不便或增加新的功能,也就是实现真正意义上的“即插即用”软件开发。平台+插件软件结构是将一个待开发的目标软件转载 2013-06-11 10:36:03 · 779 阅读 · 0 评论 -
(三)简单工厂模式详解 分类: java 设计模式
(三)简单工厂模式详解分类: java 设计模式2013-06-08 23:55 175人阅读 评论(0) 收藏 举报设计模式系统设计Java简单工厂模式简单工厂 作者:zuoxiaolong8810(左潇龙),转载请注明出处。 上一章我们着重讨论了代理模式,以及其实现原理,相信如果你看完了整篇博文,应该就对代理模式转载 2013-06-09 17:37:38 · 1031 阅读 · 0 评论 -
spring源码学习之路---AOP初探(六)
spring源码学习之路---AOP初探(六)分类: spring源码学习2013-05-19 03:17 389人阅读 评论(0) 收藏 举报 作者:zuoxiaolong8810(左潇龙),转载请注明出处。 最近工作很忙,但当初打算学习spring源码的事已经基本告一段落,只是一直没时间写这些记录性的文字。转载 2013-06-09 17:20:37 · 2814 阅读 · 0 评论 -
(二)代理模式详解(包含原理详解)
(二)代理模式详解(包含原理详解)分类: java 设计模式2013-06-06 00:37 516人阅读 评论(1) 收藏 举报代理模式代理模式原理JAVA代理模式代理模式详解代理原理详解 作者:zuoxiaolong8810(左潇龙),转载请注明出处。 我特意将本系列改了下名字,原名是《设计模式转载 2013-06-09 17:17:04 · 2109 阅读 · 0 评论 -
委托、事件和Lmbdas表达式1----委托
委托、事件和Lmbdas表达式1----委托分类: C#2009-03-21 12:20 165人阅读 评论(0) 收藏 举报stringc#lambdaclass语言工具委托与事件对于接触C#不长的人来说,是一个难于理解的概念,难于理解的原因我认为主要是这两个名称的影响,另外在平时编程中很少见到它们两个的使用,即使有些人使用了委托或者事件,可能也是照猫画虎,没有彻底的了解它们转载 2013-06-09 16:53:13 · 1081 阅读 · 0 评论