我想创建现有对象的抽象表示。对于这个例子,我想包装一个System.Windows.Forms.TreeNode的功能。我开始通过如下创建适配器...抽象现有对象的设计模式
编辑:抽象的目的,将允许我使用ITreeNodeAdapter在我的应用程序在不知道树节点,在后一阶段,我可以实现不同的ITreeNodeAdapter并且该应用程序仍然可以工作。我基本上想要移除对TreeNode的依赖。
public interface ITreeNodeAdapter
{
string Title {get;set;}
void Add(ITreeNodeAdapter adapter);
}
public class TreeNodeAdapter : ITreeNodeAdapter
{
public AbstractTreeNode(TreeNode node)
{
this.Node = node;
}
private TreeNode Node {get;set;}
public string Title
{
get { return _node.Text; }
set { _node.Text = value; }
}
public void Add(ITreeNodeAdapter adapter)
{
// What should i do here?
var treeNodeAdapter = adapter as TreeNodeAdapter;
if(treeNodeAdapter != null)
{
this.Node.Nodes.Add(treeNodeAdapter.Node);
}
}
}
我有扩展类接受子节点的问题...我上面使用的方法不觉得很好。任何想法我可以改善?
你能否提供关于课程目的的更多细节?您想做什么? – CesarGon 2009-11-25 07:16:07
这个班打算有什么目的? – 2009-11-25 07:16:26