java 判断是基础类_java最基础类的设计之判断一个类是不是一个设计良好的类

抽象数据类型:

是否把程序中的类都看做是抽象数据类型了?是否从这个角度评估它们的接口了?

抽象:

类是否有一个中心目的

类的命名是否恰当?其名字是否表达了其中心目的?

类的接口是否展现了一致的抽象?

类的接口是否能让人清楚明白的知道该如何用它?

类的接口是否够抽象,使你能不必顾虑它是如何实现其服务的?能把类看做黑盒吗?

类提供的服务是否足够完整,能让其他类无需动用其内部数据?

是否已从类中除去无关信息?

是否考虑过把类分解为组件类?是否已尽可能将其分解?

在修改类时是否维持了其接口的完整性?

封装:

是否把类的成员的可访问性降到最小?

是否避免暴露类中的数据成员?

类是否已尽可能地对其他类隐藏了自己的实现细节?

类是否避免对其使用者,包括其派生类会如何使用它作出了假设?

类是否不依赖其他类?它是松散耦合吗?

继承:

继承是否是用来建立“是一个/is a”的关系?

类的文档是否记叙了其继承策略

派生类是否避免了“覆盖”不可覆盖的方法?

是否把公用的接口、数据和行为都放到尽可能高的继承层次中了?

继承层次是否很浅

基类中所有数据成员是否都被定义为private而非protected的了?

跟实现相关的其他问题

类中是否只有大约7个或更少的数据成员?

是否把类直接或间接调用其他类的子程序的数量减到最少了?

类是否只在绝对必要时才与其他的类相互协作?

是否在构造函数中初始化了所有的数据成员?

详细信息请参考《代码大全2》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值