通常来说,功能实现是与平台无关的,而界面则与平台相关。在开发的时候,一定要把二者严格分开。
举例来说:打开一个文件,我们会先判断文件类型;如果判断不出来,会弹出一个对话框,表示要用文本打开,让用户选择编码。我们应该这样做:
- 在文件处理模块中,提供一个文件类型判断的方法;
- 在文件处理模块中,提供一个以指定编码打开文件的方法;
- 在文件处理模块中,不能有任何跟UI相关的代码。
- 在UI部分,先判断文件类型,再弹出一个对话框,再用选定编码打开文件。
这个道理是不是很简单?执行起来就会发现,根本没有人听进去,都当作耳旁风。只要可以调用到,一定有人会调用。最终变得乱七八糟。
怎么办呢?这个时候,你需要显式的规则文件,及检查工具。具体可以参考下文:
https://quantum6.blog.csdn.net/article/details/114516907