Java代码设计的可扩展性

Java代码设计的可扩展性代码设计的可扩展性 在之前的 castlexx Java 项目工程文件中提到过代码设计的规范性 在 castlexx Java 文件中类 Gamex 和类 Roomx 的代码仍有需要改进的地方 面向对象设计语言基本原则 消除代码复制 代码复制时不良设计的一种表现 增加可扩展性 可运行的代码可不等于 良好的代码 对代码维护的时候就能看出代码的质量

大家好,我是讯享网,很高兴认识大家。

代码设计的可扩展性

在之前的castlexx.Java项目工程文件中提到过代码设计的规范性。
在castlexx.Java文件中类Gamex和类Roomx的代码仍有需要改进的地方。
面向对象设计语言基本原则:

  1. 消除代码复制(代码复制时不良设计的一种表现);
  2. 增加可扩展性:可运行的代码可不等于(!= )良好的代码,对代码维护的时候就能看出代码的质量;
  3. 类和类之间的关系称作耦合,用封装来降低耦合:Roomx和Gamex都有大量的代码和出口相关;尤其时Gamex类中大量使用了Room类的成员变量,耦合越低越好,保持距离时形成良好代码的关键;

总的来说,要减少一些硬编码的地方,多增加一些方法以及灵活多的使用类库。


讯享网

用接口实现聚合

package castlexx; import java.util.HashMap; public class Roomx { 
    //定义房间出口的属性,定义一个描述函数和四个成员变量 private String descrption; //描述方向 //用容器来实现灵活性:Roomx的方向使用成员变量表示的 private HashMap<String, Roomx>exits = new HashMap<String,Roomx>(); // key value // private Roomx northExit; // private Roomx southExit; // private Roomx eastExit; // private Roomx westExit; //构造 public Roomx(String description) { 
    this.descrption = description; //本地初始化 } //设置接口(也就是替换了之前的出口设置) public void setExit(String dir,Roomx roomx) { 
    exits.put(dir, roomx); } //设置出口 // public void setExits(Roomx north, Roomx east,Roomx south,Roomx west )  // { 
    // if(north != null) // northExit = north; // if(east != null) // eastExit = east; // if(south != null) // southExit = south; // if(west != null) // westExit = west; //  //  // } //覆盖函数 @Override public String toString() { 
    return descrption; } //获得房间出口信息 public String getExitDesc() { 
    StringBuffer sb = new StringBuffer(); //StringBuffer构造一个字符串缓冲区,其中没有字符,初始容量为16个字符。 for(String dir : exits.keySet() ) { 
    sb.append(dir); sb.append(" "); } return sb.toString(); // if(northExit != null) // sb.append(" north "); // if(eastExit != null) // sb.append("east "); // if(southExit != null) // sb.append("south "); 

讯享网
小讯
上一篇 2025-02-16 18:27
下一篇 2025-02-13 11:57

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/37826.html