封装

增加可扩展性

可以运行的代码!=良好的代码

对代码做维护的时候最能看出代码的质量

如果想要增加一个方向,如down或up

用封装来降低耦合

Room类和Game类都有大量的代码和出口相关

尤其是Game类中大量使用了Room类的成员变量

类和类之间的关系称作耦合

耦合越低,保持距离是形成良好代码的关键

可扩展性

用接口来实现聚合

给Room类实现的新方法,把方向的细节彻底隐藏在Room类内部了

今后方向如何实现就和外部无关了

用容器来实现灵活性

Room的方法是成员变量表示的,增加或减少方向就要改变代码

如果用Hash表来表示方法,那么方向就不是"硬编码"的了

1,扩展性最低的就是把类都单独拿出来,没有继承什么,都是单个的类来实现作用,这种思维可扩展性最低。因为当添加一个类的时候,调用这个类的方法一定要重新编写,这样就造成扩展性的低下。

2;就是存在继承,利用父类引用指向子类对象,在调用方法的时候在去instance判断,来调用各自的方法;这样可扩展性提高了一点点,当添加新内容的时候只需要去修改一个那个判断类就ok了。但是可扩展性并不是最高的,为了提高可扩展性,Java引用的多态这一原则,
在一个方法的参数中定义父类的引用,然后实际当中传入的时候,传的是子类的对象,然后再在实际的方法里去判断属于哪个子类,再去调用其成员方法。

最新文章

  1. 上传图片shell绕过过滤的几种方法
  2. 分析‖为什么越来越多厂商开始发力VR一体机?
  3. 日期处理-将String 转为Date
  4. PHP通过文件存储来实现缓存
  5. Linux - Ubuntu下JDK配置
  6. springMVC导入excel案例poi
  7. Android_UI
  8. auto and static key words
  9. javascript遍历select下拉框判断其中值是否与指定值相等
  10. SQLSERVER如何导入数据保持ID不变(ID为自增主键)
  11. MDX 用Ancestors得到Hierarchy中指定Level的值(附带SCOPE用法之一)
  12. hdu2571 命运 简单DP
  13. tcpdump 命令详解
  14. dlib人脸关键点检测的模型分析与压缩
  15. cf1088C Ehab and a 2-operation task (构造)
  16. 将本地html文件拖到IE8浏览器无法打开,直接弹出一个下载的对话框
  17. java.lang.NoSuchMethodError: org.apache.curator.framework.api.CreateBuilder.creatingParentsIfNeeded()Lorg/apache/curator/framework/api/ProtectACLCreateModeStatPathAndBytesable;
  18. wpf 控件简单介绍
  19. 51nod P1305 Pairwise Sum and Divide ——思路题
  20. Ubuntu 18.04 安装 virtualbox

热门文章

  1. CVE-2021-44832 log4j_2.17.0 RCE复现与吐槽
  2. Springboot数据库的配置问题
  3. python进阶(26)collections标准库
  4. 介绍一个jmeter录制脚本谷歌插件 —— metersphere-chrome-plugin
  5. JavaScript常用工具函数
  6. nsenter命令简介
  7. 2022春每日一题:Day 18
  8. 😀 Java并发 - (并发基础)
  9. MYSQL5.7 保姆级安装教程
  10. java - - spring:定时任务