设计模式
文章平均质量分 66
weiyong1999
改变思想、提升能力、不断的自我丰富,此乃人生之一大乐趣。
展开
-
web设计模式是什么?
如何向妻子解释设计模式简介 自上篇翻译如何向妻子解释OOD>后收到了很好的反应。故特继续翻译作者的How I explained Design Patterns to my wife: Part 1>一文,以飨读者。在此文中,作者依旧通过与妻子浅显易懂的对话,向读者解释了什么是设计模式。设计模式是什么?Shubho:通过我们关于面向对象设计原则(OODP,即SOLID转载 2012-09-13 00:50:11 · 973 阅读 · 0 评论 -
23种设计模式全解析
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式转载 2014-03-01 22:06:04 · 845 阅读 · 0 评论 -
VO、DTO、DO、PO的概念、差别和用处
VO、DTO、DO、PO的概念、区别和用处概念:VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,转载 2014-03-01 19:09:04 · 938 阅读 · 0 评论 -
装饰模式和AOP
3.3 装饰模式和AOP 装饰模式和AOP在思想上有共同之处。可能有些朋友还不太了解AOP,下面先简单介绍一下AOP的基础知识。1:什么是AOP——面向方面编程 AOP是一种编程范式,提供从另一个角度来考虑程序结构以完善面向对象编程(OOP)。 在面向对象开发中,考虑系统的角度通常是纵向的,比如我们经常画出的如下的系统架构图,默认都是转载 2014-02-28 14:59:58 · 5030 阅读 · 0 评论 -
Decorator_装饰模式_PHP语言描述
Decorator_装饰模式的定义:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更加灵活。应用Decorator_装饰模式解决问题的思路:考虑这样一个应用场景,即灵活的实现奖金的计算。在实际的应用中,很多公司对于销售人员的奖金计算方式五花本门,并且经常变动。是非常复杂的。首先是奖金的分类,对于个人大致有个人当月业务奖金、个人累计奖金、个人业转载 2014-02-28 20:44:26 · 720 阅读 · 0 评论 -
PHP三层结构(下) PHP实现AOP第1/2页
让我们把注意力集中到中间服务层上来。中间服务层代码比较简单,只是调用数据访问层代码将留言保存到数据库。如代码1所示: 复制代码代码如下:// 代码 1 // 中间服务层 class LWordServiceCore implements ILWordService { // 添加留言 public function append($newLWord) { /转载 2014-02-28 17:59:56 · 606 阅读 · 0 评论 -
PHP系列学习之AOP
介绍 你以前听说过AOP(Aspect Oriented Programming)吗?虽然在php方面,好像没有过多的使用,但是在企业级开发中,AOP被广泛使用。我将借此文,向大家介绍PHP方面的AOP。 这篇文章主要解释AOP的概念。 什么是AOP? 在应用开发中,我们经常发现需要很多功能,这些功能需要经常被分散在代码中的多个点上转载 2014-02-28 15:08:55 · 571 阅读 · 0 评论 -
五种常见的设计模式
1、工厂模式2、单例模式3、观察者模式4、职责链模式5、策略模式原创 2013-09-14 14:27:53 · 788 阅读 · 0 评论 -
PHP 观察者模式
<?php /** * 观察者模式 * * 定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新 * 能够便利地创建查看目标对象状态的对象,并且提供与核心对象非耦合的指定功能 * 插件系统 */ class Observerable { private $_observers=array(); public function原创 2013-06-20 19:16:27 · 497 阅读 · 0 评论 -
常见的面向对象设计原则
1.单一职责原则SRP(single responsibility principle)一类应该只有一个引起它变花的原因2.开放-关闭远程OCP 一个类应该对扩展开放、对修改关闭3.里氏替换原则LSP 类似多态、就是子类可以替换掉他们的父类型4.依赖倒置原则DIP(dependence inversion principle) 高层模块、低层模块都应该依赖于抽象5.接口隔离远程IS原创 2012-09-10 21:46:45 · 307 阅读 · 0 评论 -
设计模式是什么?(学习要求:知道每一种模式的结构图)
之前,朋友一直和我提起设计模式,于是,我就开始在网上搜索一些关于设计模式的资料,简单的看了工厂模式(主要想开发一个数据库抽象层),觉得里面提到的思想蛮好的,可以解决很多我一直都在犯的错误,所以,决定好好学习设计模式。某日,去读书馆还借了一个假期的书,随便看看读书馆是否有关于设计模式这类书籍可借,运气蛮好的学校还有这样的书籍,最终,选择了由精华大学出版社出版的《研磨设计模式》。好了,就不扯了原创 2012-09-13 00:12:47 · 1833 阅读 · 1 评论 -
单例模式
定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。1.单例模式的动机是:创建类的单一对象。2.单例模式的分类:饿汉式单例模式和带双重检查锁定机制的懒汉式单例以及IoDH技术3.需要注意的是:多线程环境创建成多例对象()。4.场景问题:应用程序配置文件的读取、任务的分配等都可以用单例模式。饿汉式单例模式:public class signleton{原创 2012-11-08 22:27:54 · 344 阅读 · 0 评论 -
原型模式
定义:用原型实例指定创建对象的种类,并通过拷贝这原型创建新的对象。场景文章:订单处理系统(每当订单数量超过500,则分成两份订单来保存。订单可分:个人订单和企业订单),那些现在这个系统就应该有:个人订单类和企业订单类,我们抽象出一个基类的订单类、还有一个订单处理类。分析:使用模式解决方案和不使用模式的解决方案的解决方法。 如图:使用原型模式的结构图原创 2012-11-14 17:58:34 · 381 阅读 · 0 评论 -
图书管理系统设计流程
面向对象设计(OOD)(静态结构设计:类设计和接口设计以及包的设计;动态结构设计(行为和交互建模):对象间怎么进行交互)----------------------------------------->设计原则----------------------------------------->mvc设计模式----------------------------------------->DAO原创 2012-09-25 21:56:10 · 3050 阅读 · 0 评论 -
UML学习之类图
1.为什么要学习类图?在软件设计、开发的过程中,类图是使用频率最高的UML图。它是团队工作中队员之间交流有效工具,团队的工作效率也将会得到提升。2.类图是用来做什么的?在设计模式中,我们使用类图来描述一个模式的结构,通过类图类分析每一个模式实例。3.什么是类图? 类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互原创 2012-09-20 15:37:21 · 488 阅读 · 0 评论 -
简单工厂(可配置的工厂类)和工厂方法模式以及抽象工厂
首先,把简单工厂、工厂方法以及抽象工厂放在一起来学习主要是为了让我们更加清晰的了解、掌握它们的区别以及使用的场合。工厂方法的出现是解决简单工厂出现的问题(违背了设计原则的开闭原则OCP),而抽象工厂是解决工厂方法出现的问题(不能创建不同系列的产品)。顺便啰嗦几句:无论你在学习什么东西,它应该是有价值(我个人认为的价值就是能帮我们解决某一类或某一个问题)的,否则这个东西就没有学习的必要。如果你在学习原创 2012-10-10 20:57:07 · 566 阅读 · 0 评论 -
MVC框架解析
1.什么是MVC模式?MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开,使用mvc模式开发的应用程序都被分成3个核心部件:模型(M也就是我们所说的实体类)、视图(V用户看到并与之交互的界面)、控制器(C接受用户的输入并调用模型和视图去完成用户的需求)。2.使用MVC模式开发应用程序的好处?多个视图可以共享一个模型、数据层和表现层相互独立(可以将美工人员和程序员分开工原创 2012-10-04 16:56:39 · 768 阅读 · 0 评论 -
架构就是关注点分离
要设计良好的架构,必须做到关注点分离,这样可以产生高内聚、低耦合的系统,这是美丽架构的终极原则。文 / 王海鹏 什么是架构? 每个人可能都有自己对架构的定义。我比较喜欢的定义是:“架构是系统的组成部件及其之间的相互关系。”根据观察者的视角不同,架构又可以分为业务架构和技术架构。一般来说, 功能性需求会对业务架构产生影响, 而非功能性需求会对技术架构产生影响。例如:“注册用户转载 2014-03-02 15:51:03 · 1619 阅读 · 0 评论