码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式怎样解决设计问题

时间:2017-10-07 11:59:44      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:bsp   包括   事物   and   state模式   性能   method   面向对象设计   限制   

  1. 寻找合适的对象

        面向对象的程序设计由对象组成,对象Object包括数据和对数据进行操作的过程,这些个过程也常常称为方法Method。对象在收到客户的请求(或消息)后,执行相应的动作。 客户请求是使得对象执行操作的唯一途径,方法又是改变内部数据的唯一途径。由于这些限制,对象的内部状态是被封装的,对于外部对象是不可见的。面向对象设计最困难的部分是将系统分解成对象集合。因为要考虑许多因素:封装、粒度、依赖关系、灵活性、性能、演化、复用等,它们都影响着系统的分解,并且这些因素通常还是互相冲突的。 你可以写出一个问题的描述,挑出名词和动词,进而创建相应的类和方法;或者关注系统的协作和职责关系;还可以对现实世界建模,再将分析时发现的对象转化至设计中。设计模式帮你确定并不明显的抽象和描述这些抽象的对象。例如,描述算法的对象在现实中并不存在,但他们却是设计的关键部分。Strategy模式描述了怎样实现可互换的算法族。State模式将实体的每一个状态描述为一个对象。这些对象在分析阶段,甚至在设计阶段的早期并不存在,后来为了设计的灵活性,复用性才将它们发掘出来。

  2. 决定对象的粒度

    对象在大小和数目上变化极大。它们能表示下自硬件或上自整个应用的任何事物。那么怎样决定一个对象应该是什么呢?设计模式很好地讲述了这个问题。Facade模式描述了怎样用对象表示完整的子系统,Flyweight模式描述了如何支持大量的最小粒度的对象。其他一些设计模式描述了将一个对象分解成许多小对象的特定方法。Abstract Factory和Builder模式产生那些负责生成其他对象的对象。Visitor和command模式生成的对象专门负责实现对其他对象或对象组的请求。

  3. 指定对象接口
  4. 描述对象的实现
  5. 运用复用机制
  6. 关联运行时刻和编译时刻的结构
  7. 设计应该支持变化

设计模式怎样解决设计问题

标签:bsp   包括   事物   and   state模式   性能   method   面向对象设计   限制   

原文地址:http://www.cnblogs.com/xyzrobot/p/7634076.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!