
设计模式
文章平均质量分 67
JAVA之迷_
大家好,欢迎来到我的博客!
展开
-
OOP的基本原则
OOP的基本原则http://www.cnblogs.com/yeagen/archive/2011/09/05/2167205.html原创 2014-04-30 16:21:46 · 931 阅读 · 0 评论 -
DDD中直接引用和ID关联的关系
聚合根到聚合根:通过ID关联;聚合根到其内部的实体,直接引用;聚合根到值对象,直接引用;实体到聚合根: 通过ID关联 ;实体到其聚合的聚合根:1对1ID关联,1对多可直接引用 ;实体到其聚合内的实体:直接引用,但不要循环引用;实体到其聚合外的实体:不可能有这种情况,因为实体都是在聚合内部的,对外不可见;实体到任何值对象:直接引用;值对原创 2014-04-30 16:19:53 · 2287 阅读 · 0 评论 -
ValueObject的理解
思考ValueObject应该更多从内存的角度思考,而非DB持久化的角度。例如: public class A { public int Id { get; set; } public Address A_Address { get; set; } } public class B {原创 2014-04-30 16:19:28 · 3996 阅读 · 0 评论 -
领域驱动设计
领域中的分层模式(LAYERED ARCHITECTURE)依次分为用户界面层,应用层,领域层,基础设施层 各层主要任务用户界面层:想用户显示信息和解释用户指令。应用层:定义软件要完成的任务,并指挥表达领域概念的对象来解决问题。应用层应尽量简单,不包含业务规则或知识,而只是为下一层中的领域对象协调任务,分配工作,屎他们相互合作。他没有反映业务情况的状态,但是却可以具有另外一种状态,为原创 2014-04-30 16:18:53 · 1775 阅读 · 0 评论 -
状态模式的例子
1,状态模式允许一个"对象"在其内部状态改变的时候改变其行为。2,状态模式的角色:抽象状态,具体状态(一般是几个,每一个状态下有不同的行为,),环境(context)角色(就是对象,什么对象的状态,一般该对象要初始化一个状态,还有改变状态,还有该状态下的行为)我们打篮球的时候运动员可以有正常状态,不正常状态,和超常状态,现在我们就以我们打篮球时候投篮时候的状态来举例子,原创 2014-04-30 16:18:16 · 800 阅读 · 0 评论 -
策略模式与命令模式的区别 是什么?
策略模式 把易于变化的行为分别封装起来,让它们之间可以互相替换, 让这些行为的变化独立于拥有这些行为的客户。 GoF《设计模式》中说道:定义一系列算法,把它们一个个封装起来,并且使它们可以相互替换。该模式使得算法可独立于它们的客户变化。Command命令模式是一种对象行为型模式,它主要解决的问题是:在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”原创 2014-04-30 16:17:38 · 2643 阅读 · 0 评论 -
简单工厂、工厂方法和抽象工厂的学习笔记
简单工厂理解:简单工厂模式的工厂类一般是使用静态方法,通过接收的参数不同来返回不同的对象的实例,不修改代码的话,是无法扩展的。 先定义产品类,它们需要实现同一接口或继承自同一抽象类。 //产品接口(或抽象类) public interface IClassDo { void doSomething();原创 2014-04-30 16:16:57 · 676 阅读 · 0 评论 -
简单工厂,Factory Method(工厂方法)和Abstract Factory(抽象工厂)模式
对于简单工厂来说,它的工厂只能是这个样子的public class SimplyFactory { /*** 静态工厂方法*/public static Prouct factory(String which) throw NoSuchProductExcption{ if(which.equalIgnoreCase("product1"))原创 2014-04-30 16:16:07 · 604 阅读 · 0 评论 -
单一职责原则,开-闭原则,依赖倒置原则
《大话设计模式》连续三章讲述了三个原则,把这些重要语录摘抄下来,供我日后好好理解。 单一职责原则(Simple Response Principle):就一个类而言,应该仅有一个引起他变化的原因。当一个类承担了过多的职责,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其它职责的能力。这种耦合会导致脆弱的设计,当设计变化时,设计会遭受到意想原创 2014-04-30 16:15:17 · 814 阅读 · 0 评论 -
我对面向对象设计的理解——Java接口和Java抽象类
在没有好好地研习面向对象设计的设计模式之前,我对Java接口和Java抽象类的认识还是很模糊,很不可理解。刚学Java语言时,就很难理解为什么要有接口这个概念,虽说是可以实现所谓的多继承,可一个只有方法名,没有方法体的东西,我实现它又有什么用呢?我从它那什么也得不到,除了一些方法名,我直接在具体类里加入这些方法不就行了吗?为什么一定要有抽象类这个概念?为什么就不能把这个父类原创 2014-04-30 16:14:30 · 628 阅读 · 1 评论 -
JavaScript设计模式之一Interface接口
如何用面向对象的思想来写JavaScript,对于初学者应该是比较难的,我们经常用的JQuery其实也是用面向对象的思想去封装的,今天我们来看看如何在Javascript中用Interface,在C#还是JAVA中都应该面向接口设计我们的程序,在C#和Java中都Interface这样的关键字,但是JavaScript中没有相应的机制,但是Javascript很灵活,我们可以用它的特性去模仿Int原创 2014-04-26 08:01:38 · 1024 阅读 · 0 评论 -
java基础语法(二)--单列模式
java基础语法(二)--单列模式/** * 功能:单列模式 * @author Administrator * */public class SingletonTest{ public static void main(String[] args) { Singleton test1 = Singleton.getInstance();原创 2014-04-11 11:53:00 · 664 阅读 · 0 评论 -
java设计模式--模板方法模式
java设计模式--模板方法模式模板方法模式 模拟场景: 登录控制: 现在有一个基于Web的企业级应用系统,需要实现两种登录控制(管理员登录和客户登录),直接使用不同的登录页面来区分它们。 下面是基本的功能需求描述: 普通客户登录前台的登录控制功能: (1)前台界面:用户能输入用户名和密码;提交登录请求,让系统进行登录控制。 (2)后台:从数原创 2014-04-11 11:51:43 · 676 阅读 · 0 评论 -
java设计模式--观察者模式(Observer)
java设计模式--观察者模式(Observer)java设计模式--观察者模式(Observer)观察者模式的定义:定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。认识观察者模式:1.目标和观察者之间的关系:按照模式的定义,目标和观察者之间是典型的一对多的关系。但是要注意,如果观察者只有一个,也是可以原创 2014-04-11 11:51:01 · 695 阅读 · 0 评论 -
java设计模式--外观模式
java设计模式--外观模式java设计模式--外观模式 举例:现在去某个政府部门办理一个营业执照,需要经历下面几道手续:1.先去A部门盖章2.再去B部门盖章3.最后去C部门盖章4.经历了这三道手续后一个营业执照就办理好了下面不用设计模块的解决方案:public class GovernmentA{ public void deal原创 2014-04-11 11:50:23 · 665 阅读 · 0 评论 -
java设计模式--简单工厂
java设计模式--简单工厂简单工厂不是一个标准的设计模式,但是很常用需要掌握。在java应用开发中,要"面向接口编程".1.java中接口的概念:在java中接口是一种特殊的抽象类,跟一般的抽象类相比,接口里面所有的方法都是抽象方法,接口里面所有的属性都是常量。2.接口用来做什么?接口相当于一份契约,约定了实现类应该要实现的功能。3.接口的思想:"封装原创 2014-04-11 11:49:46 · 695 阅读 · 0 评论 -
java设计模式--策略模式
java设计模式--策略模式策略模式(Strategy)策略模式(Strategy Pattern)中体现了两个非常基本的面向对象设计的原则:a.封装变化的概念b.编程中使用接口,而不是对接口的实现策略模式的定义:a.定义一组算法,将每个算法都封装起来,并且使它们直接可以互换。b.策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。策略模式的意义:原创 2014-04-11 11:49:13 · 575 阅读 · 0 评论 -
java设计模式--单列模式
java设计模式--单列模式单列模式定义:确保一个类只有一个实例,并提供一个全局访问点。下面是几种实现单列模式的Demo,每个Demo都有自己的优缺点:Demo1:/** * 单列模式需要满足下面三个条件: * 1.私有的构造函数 * 2.私有的引用变量 * 3.公开的静态方法(唯一获取该类单个实例的地方) * * @author Administrato原创 2014-04-11 11:47:40 · 985 阅读 · 0 评论 -
设计模式-系列索引
园子里面有太多优秀的设计模式文章了,但是可能每个人的出发角度和关注点不同,可能会对每个模式理解的角度和切面不同,我想以我自己理解的方式来跟大家共同探讨下常用的设计模式,并且我会结合工作中的开发实际场景来说明每个模式的用法和特点,希望能对大家有所帮助,当然这些内容都是个人在实际项目中的总结和实践,错误或者理解有误之处,还请大家多多指正,多谢大家前来交流! 创建型原创 2014-04-10 20:24:49 · 512 阅读 · 0 评论 -
java设计原则---开闭原则
开闭原则:指的是一个软件实体应对对扩展开发,对修改关闭(Software entities should be open for extension, but closed for modification)。这个原则是说在设计一个模块的时候,应对使这个模块可以在不被修改的前提下被扩展,换言之,应对可以不必修改源代码的情况下改变这个模块的行为。根据开闭原则,在设计一个软件系统模块(原创 2014-03-13 21:28:37 · 1221 阅读 · 0 评论