父子类关系设计模式

2024-02-22

我有一堂课,其中有一个子项目列表。是否有一个我可以复制的设计模式,可以应用于这些类,以便我可以从子级访问父级实例,并且它强制执行诸如无法将子级添加到多个父级等规则?


尝试复合设计模式:

https://www.dofactory.com/net/composite-design-pattern https://www.dofactory.com/net/composite-design-pattern

要使用它,您必须添加一些代码以将树移回到看起来像的父级,但除此之外它应该可以工作。

只需添加一个属性,该属性在将父元素添加到树时保存对父元素的引用。如果父节点发生更改,则更新它;如果节点被删除,则将其设置为 null。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

父子类关系设计模式 的相关文章

随机推荐

  • 为什么要将 NSObject 协议附加到协议实现中

    我看到一些类似于以下内容的代码 protocol MyProtocol
  • 如何查找数据框中各组之间共享的值? [复制]

    这个问题在这里已经有答案了 我有一个整洁的 data frame 有两列 exp and val 我想找出哪些值val在所有不同的实验之间共享 df lt data frame exp c A A A A B B B B C C C C v
  • 找不到符号类“Builder”

    我最近下载了Android Studio 我认为它比eclipse 我创建了一个新项目 其中包含登录活动 但该活动似乎有错误 在此处输入图像描述 1 Error 78 31 error cannot find symbol class Bu
  • 递归读取文件夹并对每个文件夹执行命令

    我试图递归到文件夹 然后使用 bash 脚本在它们上运行命令 有什么建议么 如果您想递归到目录 对其中找到的每个文件执行命令 我会使用find我认为 命令 而不是使用 shell 脚本编写任何内容 该命令可以接收很多参数 例如type过滤返
  • XNA Content.Load 如何操作?

    我只是好奇它是否在每次调用时实际上将资源加载到内存中 或者如果它查找它 发现它是否已加载 如果未加载 则加载一次并仅保留引用 以便第二次调用它只是获取对它的引用 它会跟踪已加载的内容 并且如果之前已加载过该对象 则仅返回对同一对象的引用 这
  • OpenCV 和 Python - 图像太大而无法显示

    我的图像尺寸为 6400 3200 而我的屏幕为 1280 x 800 因此 仅需要调整图像大小以供显示 我正在使用 Python 和 OpenCV 2 4 9 根据OpenCV 文档 http docs opencv org 2 4 mo
  • Docker-compose 异常

    溢出 我尝试将 docker compose 脚本从我的 ubuntu 工作站传输到我的 Fedora 笔记本电脑 当击中时 docker compose up 我得到以下异常 polito localhost dev docker com
  • 为什么 Android Studio 无法引用仅包含在 build.gradle 中的库?

    在我的应用程序中 我使用 Guava 库 我在我的文章中引用了它build gradle文件仅如下 dependencies compile com google guava guava 13 0 1 我的应用程序重建并运行良好 然而 当我
  • 使用条件运算符时没有隐式转换[重复]

    这个问题在这里已经有答案了 我有以下课程 abstract class AClass class Foo AClass class Bar AClass 当我尝试使用它们时 AClass myInstance myInstance true
  • 通过拖放到批处理文件上运行命令

    我想将文件拖放到批处理文件上 以便对其运行以下命令 如何在删除的文件上运行命令 PotreeConverter exe
  • 如何在 OpenShift 上部署多模块 Maven Spring Boot 应用程序

    我有一个要部署的多模块 spring boot 项目开放式换档 https www openshift com 我也在那里安装了 Jenkins 源代码托管在 Github 上 每个模块都包含一场战争 以便拥有微服务结构
  • C++ 冒泡排序双向链表

    我知道冒泡排序可能不是最快的方法 但它是可以接受的 我只是在将算法调整为数组中的双链接列表时遇到麻烦 我的双链表有一个 int 类型和一个 string 类型来保存数字和单词 我的列表是用插入排序来排序的 我编写了该插入排序来按字母顺序排序
  • 当用户在 Safari/Chrome 中关闭窗口时,我可以弹出确认对话框吗?

    在 IE 和 FF 中 我可以将事件处理程序附加到 onBeforeUnload 并通过将字符串传递给事件的属性 用户将看到一个对话框 询问他是否要继续 卸载 关闭窗口或导航离开 Safari 和 Chrome 不支持 onBeforeUn
  • 如何替换雪花中的重音字符?

    我正在尝试将列中的重音字符替换为 普通 字符 select 我想要一些会返回 aaaaaa 的操作 刚刚和我的一位同事找到了解决方案 select translate aeiouaoaeoac 我们还可以添加一个lower 使其推广到更多案
  • C++ 中的声明点

    为什么没有输出101当我分配了之前的x到新的x int x 101 int x x std cout lt lt x lt lt std endl 输出 垃圾 422634 我以为是第二个x将被初始化为101但它没有初始化 注 本例的解决方
  • 我还应该使用 Silverlight/XBAP

    我们需要创建一个可以通过浏览器使用但也可以离线使用的应用程序 我们的客户将使用浏览器版本进行计算 每个客户都需要使用用户名和密码登录应用程序 离线版本将由我们自己的员工使用 他们需要能够在未连接到网络的情况下使用此版本 应用程序所需的数据将
  • PHP 中的这个语法( page = $page ? $page : 'default' )是什么意思?

    我是 PHP 新手 我在中遇到了这个语法WordPress http en wikipedia org wiki WordPress 该代码的最后一行有什么作用 page SERVER REQUEST URI page str replac
  • 如何在WCF中返回数据集(xsd)

    我有一个库 它通过某种方法返回数据集 我需要通过 WCF 公开此数据集 客户端应用程序将使用它作为报告生成器 准确地说是 DevExpress XtraReport 的数据源 DataSet 包含大约 58 个 DataTable 其中包括
  • MySql 索引填充因子?

    在MySql中创建索引时如何指定填充因子 你不知道 http dev mysql com doc refman 5 0 en create index html http dev mysql com doc refman 5 0 en cr
  • 父子类关系设计模式

    我有一堂课 其中有一个子项目列表 是否有一个我可以复制的设计模式 可以应用于这些类 以便我可以从子级访问父级实例 并且它强制执行诸如无法将子级添加到多个父级等规则 尝试复合设计模式 https www dofactory com net c