【发布时间】:2011-09-03 14:24:30
【问题描述】:
我将为 WIN CE 设备开发一个 COM 组件。一个 COM 接口(组件)可以添加的方法数量是否有限制?
【问题讨论】:
-
提出这个问题会让你的设计听起来可能至少有些问题。
我将为 WIN CE 设备开发一个 COM 组件。一个 COM 接口(组件)可以添加的方法数量是否有限制?
【问题讨论】:
接口的好处之一是多个类可以重用您的接口。这将允许程序在不同的类上使用相同的方法,而不用关心它们是什么。
COM 的目的之一是隐藏您正在访问的类的实现。假设用户不知道,给定一个界面,该界面背后究竟是什么。
想象你有一把椅子,现在想象你有一辆自行车。 两者都可以使用接口 ISeat。用户可以坐在任何一个物体上,而不知道用户坐在哪个物体上。现在自行车可以使用接口IPedal,而椅子不会使用该接口。现在 chair 不必拥有自行车实现的所有方法(如 PedalForward)。
如果由于您只有一个接口,chair 必须实现这些方法,那么您必须对这些方法做一些事情。您可以让该方法不执行任何操作,但这对用户来说毫无用处,并且可能很危险,因为用户可能正试图将椅子从车上踩下来,以免被车撞到。或者,您可以抛出异常。这很奇怪,因为用户会想知道为什么对象不能向前踩踏。
因此,如果您在一个接口中有太多方法,除了存在神级之外,您就没有按照 COM 的本应使用方式来利用它。
【讨论】:
没有。
但是如果你必须在一个类中添加很多方法,你的设计很有可能会被破坏。
另外,请记住,一旦您发布了 COM 接口,您就永远不会“打算”更改它。
【讨论】: