August 2021
Intermediate to advanced
450 pages
4h 46m
Chinese
如果你在设计一个系统,必须使用不可移植的(原生的)代码(即代码只能运行在特定的硬件平台上),你应该把这些代码从类中抽象出来。通过抽象,可以将这些不可移植的代码隔离到各自的类中,或至少隔离在方法中(一个可以被覆盖的方法)。例如,如果编写代码来访问特定硬件的串行端口,你应该创建一个包装类来处理它。然后,你的类应该向包装类发送一条消息,以获取它所需的信息或服务。不要在主类中包含依赖系统的代码(请见图5.5)。
图5.5 串行端口包装器
例如,考虑程序员需要直接与硬件交互的场景。这种情况下,不同平台的对象代码应该是完全不同的,因为这些代码必须针对每个平台进行编写。然而,如果这个功能是放置在一个包装类中,然后该类的用户可以通过接口直接与该类交互而不需要担心各种各样的低层码。该包装类会处理平台的不同之处并调用相应的代码。
Read now
Unlock full access