Is there any chance that we can rename this?  IPageLink is a bit
confusing.  You're creating a PageLink, but passing an IPageLink into
it.  How about if we call it IPageProvider or IPageFactory or
something?  That's really what it's doing.  To avoid breaking API, I
would suggest:

1.  Create IPageProvider (or whatever) interface with the exact same
methods as IPageLink.
2.  Take method declarations out of IPageLink and have it extend IPageProvider.
3.  Make PageLink's constructor take an IPageProvider instead.  I
think applications will need to be recompiled against the new
hierarchy.
3.  Deprecate IPageLink so that it can be removed in a future release.

Thoughts?

Reply via email to