从我的个人理解以及老师的点拨下,提出个人对软件的扩展性的几点见解:
1.直接对代码的修改
可能对大部分初涉软件开发这个行业的人来说,直接修改代码绝对是他们认为的最好的扩展自己所设计的软件的办法,比如要加个什么功能的,可能就会对全部的代码修改,肯定要引起重新编译,打包和部署,肯定是需要停机的,甚至改得面目全非,也就是说可能会因为就为了加一个小小的功能而耗费开发整个项目所要的时间,这样从时间效率上讲是绝对不可行的。
2.编写新的类,在新类里添加新的业务逻辑。
这种做法,没有修改以前的任何业务逻辑代码,而是增加了新的类来容纳新的业务逻辑。但是,在将新的类链接到代码中,同样需要改动部分代码。比如对新类的实例化过程是需要静态编译链接的,也就是说同样的,这种方法无论是时间上来讲还是从软件的性能方面来讲都是不合适。
3.利用接口和动态绑定
运行时绑定也叫动态绑定,也就是在静态编译时并不明确所要绑定的接口的继承类对象只是实例化接口对象,在运行时去确定所要实例化的接口继承类对象,这样做的话,当我们要做修改时,仅仅只需要改动接口的继承类,并对其一个文件进行编译就行,而不需要像前面的大动干戈。
由此去看待我做的山寨QQ呢,当我要添加一个功能的时候我必须对部分可能是全局的代码进行修改,为什么呢?因为本身自己先前定义的接口就少,而且几乎所有的类都是采用静态编译绑定,也就是说我写的山寨QQ的扩展性极差,有必要重新进行开发,下次开发有几点思考:
1.要从全局出发先定义好接口
2.通过解析XML文件来获取要实例化的对象
3.代码的质量要高
分享到:
相关推荐
【标题】"看我山寨版 hibernate 简单实现 一" 这篇文章的主题是作者尝试模仿 Hibernate 框架的功能,创建一个简单的实现。Hibernate 是一个流行的关系对象映射(ORM)框架,它允许 Java 开发人员将数据库操作与对象...
java版山寨QQ项目 里面有四个压缩包 QQ服务器端.rar QQ客户端.rar 改进QQ客户机服务器视频实现.rar Q第三方库.rar 这个java版山寨QQ项目实现的功能有: 1.实现的java视频聊天; 2.集成了Mina框架; 3.服务器管理...
标题中的“山寨版QQ 源代码 QQ2010界面”指的是一个非官方的、模仿QQ2010版本用户界面的软件项目,它的源...同时,这也可以作为练习,尝试改进或扩展这个“山寨版QQ”,比如添加新的功能,优化性能,或者改进代码结构。
它与Java代码分离,有助于实现MVC(模型-视图-控制器)设计模式,提高代码的可维护性和可扩展性。 7. **动画和效果**:JavaFX的动画系统强大,能够创建平滑的过渡和动态效果,提升用户体验。例如,可以在"JavaFX...
这个"山寨qq客户端.zip"压缩包包含了一个模仿QQ聊天功能的项目,该项目由客户端和服务器端的Java源码组成,能够支持一对一以及一对多的聊天模式。 首先,我们要理解的是即时通讯(Instant Messaging,简称IM)的...
山寨版qq源码素材山寨版qq源码+素材山寨版qq源码+素材山寨版qq源码+素材
【山寨QQ Version2.0.zip】是一个编程学习资源,由知名IT讲师韩顺平老师创建。这个项目的主要目的是为了教学,让学习者了解并实践如何构建一个类似QQ的即时通讯软件。以下是根据提供的信息解析出的相关知识点: 1. ...
从描述来看,开发者强调了其正规模式的构架,这意味着尽管是“山寨”版本,但在开发过程中可能遵循了一定的设计规范和标准,以确保软件的稳定性和安全性。 在分析这个项目时,我们可以关注以下几个重要的知识点: ...
【Java实习报告——山寨QQ聊天工具设计】 这份实习报告详细记录了一个基于Java的简易聊天系统的开发过程,项目名为"My_QQ",旨在模仿QQ的基本功能,包括登录、注册、单人及多人聊天,并且退出应用。这个项目是针对...
7. **设计模式**:在实现QQ功能时,可能会用到单例模式(用于全局唯一的服务)、工厂模式(创建对象)、观察者模式(实现事件监听)等经典设计模式,以提高代码的可维护性和可扩展性。 8. **异常处理**:良好的异常...
首先是关于[评价可免费]的严正声明 一、评价=评论加评价(评星星) 二、评价必须是下载完了该资源后的评价,没下载评价无效 三、如果正确评价了,返还积分可能需要等一会,因为系统需要反应。 评论时记得要评分。然后...
【标题】"山寨QQ完整版"揭示了这个项目的核心,即一个模仿QQ即时通讯软件的实现。这个"山寨"版本并非官方腾讯QQ,而是由开发者或爱好者基于QQ的功能特性自行构建的一个版本,目的是为了学习、研究或者测试即时通讯...
在"山寨QQ"中,开发者可能使用了TCP协议来确保数据的可靠传输,因为即时通讯工具需要保证消息的顺序和完整性,避免丢失或重复。 其次,Socket编程是网络编程的核心,它是应用程序与网络协议栈交互的接口。开发者...
【标题】:“java语言 山寨版QQ源码”指的是基于Java编程语言实现的一个简易QQ聊天软件的源代码。这个项目通常是为了教学目的而设计,让学习者能够深入理解Java编程语言在网络通信、多线程、图形用户界面(GUI)等...
8. **设计模式**:可能运用到单例模式(控制QQ实例的唯一性)、工厂模式(创建对象)、观察者模式(实现消息推送)等,以提高代码的可维护性和可扩展性。 9. **测试与调试**:使用JUnit进行单元测试,确保代码功能...
【Java实现的山寨版QQ】项目是一个基于Java编程语言开发的即时通讯软件,它旨在模拟腾讯QQ的基本功能,包括用户登录、在线好友列表展示、一对一私聊以及多人聊天室等功能。这个项目对于学习Java GUI设计、网络编程...
【标题】"山寨QQ2003java源码"揭示了这是一个基于Java编程语言的项目,目的是模仿QQ2003版本的某些功能。在Java领域,源码是程序员编写的程序原始代码,用于实现特定的功能。这个项目可能是为了学习、研究或者改进,...
【标题】"韩顺平山寨qq项目原码"是一个基于Java编程语言的项目,旨在模拟QQ即时通讯软件的基本功能。这个项目可能是为了教学目的而创建的,帮助学习者理解网络编程、多线程以及客户端-服务器通信等核心概念。 ...