在程序里创建类的原因:
1.对现实世界的对象建模(如:文章类,用户类)
2.对抽象对象进行建模(如:类型:也许是文章类型或用户类型)
3.降低复杂度
4.隔离复杂度
5.隐藏实现细节
6.限制变化所影响的范围(经常变化的部分放到一个或几个类中,如业务逻辑)
7.隐藏全局数据
8.让参数传递更顺畅(比如说文章,包括标题、作者、时间、内容等等,在读或写文章时可以把文章的对象作为参数传递)
9.创建中心控制点 (如把对数据库的操作放到单独的类中)
10.让代码更易于重用
11.为程序族做计划
12.把相关操作放在一起
13.实现特定的重构
应该避免的类:1.万能类 2.消除无关紧要的类:如只包括数据不包括行为的类,是否真的有必要?3.避免用动词命名的类,如只有行为没有数据
创建子程序的理由:
1.降低复杂度
2.引入中间的、易懂的抽象(比如:上传文件时问了得到文件名称,要写如下代码:
![None.gif](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![ExpandedBlockStart.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](https://www.cnblogs.com/Images/dot.gif)
![InBlock.gif](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![ExpandedBlockEnd.gif](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
3.避免代码重复
4.支持子类化(即在派生类重写的时候)
5.隐藏顺序(如果两个动作必须一前一后发生,可放到一个方法中)
6.隐藏指针操作
7.提高可移植性
8.简化复杂的逻辑判断(如判断用户输入是否合法)
9.改善性能(子程序中的算法可以随时改变,只要其返回保持一致,就不会影响其他地方的调用)