using System.Collections.Generic;
namespace Chernobyl.DesignPatterns.Extension
{
///
/// An interface for working with instances that can be extended using the
/// or
/// type. Note that the type
/// does not require a type to be an for it to be
/// extended. But, it is still highly recommended that the extension add
/// itself to the list of the instance when it is
/// attaching to that instance and remove itself when it is detaching from
/// that instance.
///
public interface IExtendable
{
///
/// The list of or
/// instances that have
/// attached themselves to this instance.
///
IList Extensions { get; }
}
}