对于我的软件工程类,我们必须用Java开发一个按钮引导的应用程序(即按下按钮切换LED).我们必须根据接口定义整体架构,然后在各种场景中实现它:按钮和LED在同一台PC上建模为GUI元素,按钮和LED建模为不在同一台机器上运行的GUI元素(例如远程),Raspberry Pi/Arduino等物理按钮和LED ......
尽管运行环境发生了变化,但接口必须相同,即只有实现必须改变.通过接口我不是指GUI,而是我的应用程序中的类将实现的接口(例如,接口iLed将由类Led实现,其方法代码将根据LED的建模方式而变化:物理LED,本地GUI元素等.).只是为了给你一个想法,在下面的链接中有draw.io接口的UML图(用draw.io打开):https://drive.google.com/file/d/0BxSY8GbXKYeAd0dZNm92ODdOSFE/view ? usp = sharing
我想要的是能够在接口(和驱动程序存根)之间来回切换以及我正在处理的完整应用程序(除了接口之外,还有实现它们的类).构建项目以实现这一目标的最佳方法是什么?拥有一个永远不会合并的两个分支的GitHub仓库是一个好主意,一个只有接口而另一个只有接口,另一个带有实际的实现(即给定执行环境的完整应用程序,接口也是如此)?如果没有,你有什么建议?我问,因为据我所知,你通常会分支添加/修改一些功能,然后与你最初分支的分支合并,这意味着分支将重新组合在一起.