拥有两个不同的github分支是一个好主意,这些分支永远不会合并以分别存储界面和完整的应用程序



对于我的软件工程类,我们必须在Java中开发按按钮为主导的应用程序(即,按下按钮切换LED)。我们必须根据接口来定义整体体系结构,然后在各种情况下实现它:按钮和LED在同一PC上以GUI元素为模型,按钮,LED和LED模型为GUI元素,该GUI元素不在同一台计算机上运行(例如,远程。),物理按钮并在覆盆子pi/arduino等上引导...

尽管运行环境发生了变化,但接口必须相同,即只有实现必须更改。通过接口,我并不是说GUI,而是我应用程序中的类中的类接口(例如,iLed的界面将由类LED实现,其方法代码将根据LED的建模方式而变化:LED,本地GUI元素等。)。只是为了给您一个想法,在以下链接上有draw.io uml uml图表(使用draw.io打开):https://drive.google.com/file/d/0bxsy8gbxkyead0dznm92oddosfe/view?usp = sharing

我想要的是能够单独在接口(和驱动程序存根)之间来回切换,并且我正在处理的完整应用程序(除了接口之外,还可以实现它们的类)。构建项目的最佳方法是什么?拥有一个将一个永远不会合并的github存储库的github回购是一个好主意,一个分支只有一个没有接口,另一个与实际实现(即,对于给定执行环境,接口的完整应用程序)是一个好主意吗?如果没有,您建议什么?我问,因为据我所知,您通常会分支以添加/修改某些功能,然后与您最初从中分支的分支合并,这意味着分支机构是要恢复的。

可能要做的最好的事情是为您的接口和完整应用程序制作两个单独的存储库。然后,您可以将接口代码添加到主要程序中。

从本质上讲,子模块是将GIT存储库保存在另一个GIT存储库中的一种方法。这样,您可以作为一个独立项目来处理接口,但是您也可以在需要它的其他相关项目中包括代码。

最新更新