以下关于软件构件的叙述中,错误的是(35)
单选题
以下关于软件构件的叙述中,错误的是(35)
A. 构件的部署必须能跟它所在的环境及其他构件完全分离
B. 构件作为一个部署单元是不可拆分的
C. 在一个特定进程中可能会存在多个特定构件的拷贝
D. 对于不影响构件功能的某些属性可以对外部可见
答案:D
解析
正确答案:D
软件构件强调“接口与实现分离”:对外只暴露契约接口,内部实现细节和属性应被封装。D 中“不影响功能的属性可对外可见”仍属于实现细节外泄,会破坏封装、增加耦合,因此错误。
A:构件是可独立部署单元,部署时应与环境及其他构件解耦,能够单独部署和替换,正确。
B:构件作为部署单元不可拆分,不能只部署其中一部分,正确。
C:同一构件在特定进程中可有多个实例或拷贝,如 EJB 实例池,正确。
延伸:面试常考构件三要素——接口、实现、部署;构件与类/对象的区别在于部署粒度、可替换性和复用性。Java 中 OSGi Bundle、EJB、Spring 组件都体现“接口暴露、实现隐藏、可独立部署”。