知识大全 PHP程序61条面向对象分析设计的经验原则[2]

Posted

篇首语:曾无好事来相访,赖尔高文一起予。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 PHP程序61条面向对象分析设计的经验原则[2]相关的知识,希望对你有一定的参考价值。

PHP程序61条面向对象分析设计的经验原则[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  ( )继承只应被用来为特化层次结构建模

  ( )派生类必须知道基类 基类不应该知道关于它们的派生类的任何信息

  ( )基类中的所有数据都应当是私有的 不要使用保护数据

  类的设计者永远都不应该把类的使用者不需要的东西放在公有接口中

  ( )在理论上 继承层次体系应当深一点 越深越好

  ( )在实践中 继承层次体系的深度不应当超出一个普通人的短期记忆能力 一个广为接受的深度值是

  ( )所有的抽象类都应当是基类

  ( )所有的基类都应当是抽象类

  ( )把数据 行为和/或接口的共性尽可能地放到继承层次体系的高端

  ( )如果两个或更多个类共享公共数据(但没有公共行为) 那么应当把公共数据放在一个类中 每个共享这个数据的类都包含这个类

  ( )如果两个或更多个类有共同的数据和行为(就是方法) 那么这些类的每一个都应当从一个表示了这些数据和方法的公共基类继承

  ( )如果两个或更多个类共享公共接口(指的是消息 而不是方法) 那么只有他们需要被多态地使用时 他们才应当从一个公共基类继承

  ( )对对象类型的显示的分情况分析一般是错误的 在大多数这样的情况下 设计者应当使用多态

  ( )对属性值的显示的分情况分析常常是错误的 类应当解耦合成一个继承层次结构 每个属性值都被变换成一个派生类

  ( )不要通过继承关系来为类的动态语义建模 试图用静态语义关系来为动态语义建模会导致在运行时切换类型

  ( )不要把类的对象变成派生类 对任何只有一个实例的派生类都要多加小心

  ( )如果你觉得需要在运行时刻创建新的类 那么退后一步以认清你要创建的是对象 现在 把这些对象概括成一个类

  ( )在派生类中用空方法(也就是什么也不做的方法)来覆写基类中的方法应当是非法的

  ( )不要把可选包含同对继承的需要相混淆 把可选包含建模成继承会带来泛滥成灾的类

  ( )在创建继承层次时 试着创建可复用的框架 而不是可复用的组件

  ( )如果你在设计中使用了多重继承 先假设你犯了错误 如果没犯错误 你需要设法证明

  ( )只要在面向对象设计中用到了继承 问自己两个问题 ( )派生类是否是它继承的那个东西的一个特殊类型?( )基类是不是派生类的一部分?

  ( )如果你在一个面向对象设计中发现了多重继承关系 确保没有哪个基类实际上是另一个基类的派生类

  ( )在面向对象设计中如果你需要在包含关系和关联关系间作出选择 请选择包含关系

  ( )不要把全局数据或全局函数用于类的对象的薄记工作 应当使用类变量或类方法

  ( )面向对象设计者不应当让物理设计准则来破坏他们的逻辑设计 但是 在对逻辑设计作出决策的过程中我们经常用到物理设计准则

  ( )不要绕开公共接口去修改对象的状态

cha138/Article/program/PHP/201311/21392

相关参考

知识大全 PHP学习笔记之面向对象设计

PHP学习笔记之面向对象设计  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  面向对象设计是php

知识大全 php面向对象public private protected 访问修饰符

本篇文章是对php面向对象publicprivateprotected访问修饰符进行了详细的分析介绍需要的朋友参考下   PHP中有三种访问修饰符分别是public(公共的默认)protec

知识大全 面向对象建模与数据库建模的比较

  我们知道一个软件从无到有需要经过如下几个阶段分析设计编程调试部署和运行  编程阶段我们通常使用Java/NET这样面向对象语言工具可以带来很多设计上的好处但是也存在一个奇怪的现象很多程序员虽然在使

知识大全 再谈面向对象

  谈到面向对象这方面的文章非常多但是明确地给出对象的定义或说明对象的定义的非常少——至少我现在还没有发现其初面向对象是专指在程序设计中采用封装继承抽象等设计方法可是这个定义显然不能再适合现在情况面向

知识大全 分析和设计

  面向对象的范式是思考程序设计时一种新的而且全然不同的方式许多人最开始都会在如何构造一个项目上皱起了眉头事实上我们可以作出一个好的设计它能充分利用OOP提供的所有优点  有关OOP分析与设计的书籍大

知识大全 php设计模式介绍之迭代器模式

  《PHP设计模式介绍》第八章迭代器模式  类中的面向对象编程封装应用逻辑类就是实例化的对象每个单独的对象都有一个特定的身份和状态单独的对象是一种组织代码的有用方法但通常你会处理一组对象或者集合  

知识大全 代码复用的规则

  代码复用是绝大多数程序员所期望的也是OO的目标之一总结我多年的编码经验为了使代码能够最大程度上复用应该特别注意以下几个方面  对接口编程  对接口编程是面向对象设计(OOD)的第一个基本原则它的含

知识大全 PHP面向对象编程快速入门

PHP面向对象编程快速入门  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  面向对象编程(OOP)

知识大全 PHP中实现面向对象编程的研究

PHP中实现面向对象编程的研究  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  面向对象编程的概念

知识大全 PHP中实现面向对象编程

PHP中实现面向对象编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  这篇文章介绍在PHP的面