随笔分类 -  设计模式

摘要:观察者模式是一种非常简单的事件系统,包含了两个或更多的互相交互的类。这一模式允许某个类观察另个类的状态。当被观察者的状态发生改变时就会通知所有观察者进行相应的变化。* 观察者模式定义了一个一对多的依赖关系* 让一个或多个观察者对象监察一个主题对象* 这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象* 使这些观察者对象能够自动更新。实例一:/* * 当我们在星际中开地图和几家电脑作战的时候,电脑的几个玩家相当于结盟,一旦我们出兵进攻某一家电脑,其余的电脑会出兵救援。 那么如何让各家电脑知道自己的盟友被攻击了呢?并且自动做出反应? 待解决的问题:一旦某个电脑被我们进攻... 阅读全文
posted @ 2012-03-14 00:04 TECS27 阅读(201) 评论(0) 推荐(0)
摘要:工厂模式: 工厂模式就是专门负责将大量有共同接口的类实例化,而且不必事先知道每次是要实例化哪一个类的模式。它定义一个用于创建对象的接口,由子类决定实例化哪一个类。 工厂类是指包含一个专门用来创建其他对象的方法的类。 根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。策略模式(Strategy) 属于对象行为型设计模式,主要是定义一系列的算法,把这些算法一个个封装成拥有共同接口的单独的类,并且使它们之间可以互 换。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。这里的算. 阅读全文
posted @ 2012-03-13 18:01 TECS27 阅读(897) 评论(0) 推荐(0)
摘要:在面向对象的编程中,工厂模式是一种经常被使用到的模式。根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。工厂类是指包含一个专门用来创建其他对象的方法的类,工厂类在多态性编程实践中是至关重要的。工厂模式的原理为了理解工厂模式是如果工作的,让我们来看一下图一:图1 工厂模式的工作原理在 图1中,X是基类,Xy和Xz继承了X类。而工厂类能够根据程序传递给它的数据决定生成那一个子类的实例。在右边定义了一个getClass方法,该方法 需要参数a并返回一个X类的实例。对于程序员来说,返回的究 阅读全文
posted @ 2012-03-13 17:28 TECS27 阅读(169) 评论(0) 推荐(0)
摘要:策略模式(Strategy)属于对象行为型设计模式,主要是定义一系列的算法,把这些算法一个个封装成拥有共同接口的单独的类,并且使它们之间可以互换。策略模式使这些算法在客户端调用它们的时候能够互不影响地变化。这里的算法不要狭义的理解为数据结构中算法,可以理解为不同的业务处理方法。策略模式应用场景举例:例1.话说马上就要到清明节了,公司也放假了,人流量多了,各种商店的生意也好了,但为了加大节日销售的利润,各种商店纷纷出台了相应的打折策略,对于小点的商 店,商品相对较少,处理起来也不大费劲,但对于楼下的国美电器呀,附近的苏宁,这样的大店商品太多,打折信息也比较多,对于打折信息的记录当然就会采用一 些 阅读全文
posted @ 2012-03-13 17:21 TECS27 阅读(244) 评论(0) 推荐(0)
摘要:模式:每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。比设计模式更重要:GRASP (职责分配原则)要学习设计模式,有些基础知识是我们必须要先知道的,设计模式是关于类和对象的一种高效、灵活的使用方式,也就是说,必须先有类和对象,才能有设计模式的用武之地,否则一切都是空谈,那么类和对象是从那冒出来的呢?这时就需要比23种设计模式更重要更经典的GRASP模式登场了,嘿嘿,原来这才是老大!GRASP(General Responsibility Assignment Software Patterns),中文名称为“通用职责分配软件模式”,GRASP一共包括9种模式,它 阅读全文
posted @ 2012-03-13 17:02 TECS27 阅读(250) 评论(0) 推荐(0)