标签:bsp 包括 事物 and state模式 性能 method 面向对象设计 限制
面向对象的程序设计由对象组成,对象Object包括数据和对数据进行操作的过程,这些个过程也常常称为方法Method。对象在收到客户的请求(或消息)后,执行相应的动作。 客户请求是使得对象执行操作的唯一途径,方法又是改变内部数据的唯一途径。由于这些限制,对象的内部状态是被封装的,对于外部对象是不可见的。面向对象设计最困难的部分是将系统分解成对象集合。因为要考虑许多因素:封装、粒度、依赖关系、灵活性、性能、演化、复用等,它们都影响着系统的分解,并且这些因素通常还是互相冲突的。 你可以写出一个问题的描述,挑出名词和动词,进而创建相应的类和方法;或者关注系统的协作和职责关系;还可以对现实世界建模,再将分析时发现的对象转化至设计中。设计模式帮你确定并不明显的抽象和描述这些抽象的对象。例如,描述算法的对象在现实中并不存在,但他们却是设计的关键部分。Strategy模式描述了怎样实现可互换的算法族。State模式将实体的每一个状态描述为一个对象。这些对象在分析阶段,甚至在设计阶段的早期并不存在,后来为了设计的灵活性,复用性才将它们发掘出来。
对象在大小和数目上变化极大。它们能表示下自硬件或上自整个应用的任何事物。那么怎样决定一个对象应该是什么呢?设计模式很好地讲述了这个问题。Facade模式描述了怎样用对象表示完整的子系统,Flyweight模式描述了如何支持大量的最小粒度的对象。其他一些设计模式描述了将一个对象分解成许多小对象的特定方法。Abstract Factory和Builder模式产生那些负责生成其他对象的对象。Visitor和command模式生成的对象专门负责实现对其他对象或对象组的请求。
标签:bsp 包括 事物 and state模式 性能 method 面向对象设计 限制
原文地址:http://www.cnblogs.com/xyzrobot/p/7634076.html