首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏菩提树下的杨过

    温故而知新:设计模式之组合模式(Composite)

    ,有些则没有;因此大体可以将菜单类分为二类,设计代码如下: ///

    /// 菜单的显示接口 /// public interface IMenu get; } } /// /// 有子菜单的菜单类 /// public class Menu : MenuBase, IMenu > children = (menu as Menu).Children; foreach (IMenu i in children) { MenuName = "\t关机" }; IMenu menuProgram = new Menu() { MenuName = "\t程序" }; IMenu { void Show(); void Add(IMenu menu); void Remove(IMenu menu); }

    64090发布于 2018-01-22
  • 来自专栏Lixj's Blog

    【设计模式】建造者模式

    DecorationPackageMenu:是IMenu接口的实现类,主要承载建造过程中的填充器,相当于一套承载物料和创建者中间衔接的内容。 定义装修包接口 public interface IMenu { IMenu appendCeiling(Matter matter); IMenu appendCoat(Matter matter); IMenu appendFloor(Matter matter); IMenu appendTile(Matter matter); String getDetail (); } 实现装修包接口 public class DecorationPackageMenu implements IMenu { private List<Matter> list BigDecimal("0.2")).multiply(matter.price())); return this; } @Override public IMenu

    64520编辑于 2022-06-10
  • 来自专栏小工匠聊架构

    设计模式 - 创建型模式_建造者模式

    具体功能如下: Builder ,建造者类具体的各种组装由此类实现 DecorationPackageMenu ,是 IMenu 接⼝的实现类,主要是承载建造过程中的填充器。 ---- 【装修包接口】 public interface IMenu { /** * 吊顶 */ IMenu appendCeiling(Matter matter ); /** * 涂料 */ IMenu appendCoat(Matter matter); /** * 地板 */ IMenu appendFloor(Matter matter); /** * 地砖 */ IMenu appendTile(Matter matter); /** 最后同样提供了统⼀的获取装修清单的明细⽅法 ---- 【 建造者⽅法】 public class Builder { public IMenu levelOne(Double area) {

    34920编辑于 2023-02-23
  • emacs 代码导航

    跳转到光标所在处定义xref-find-definitions M-.查找光标所在处的引用lsp-find-references M-r跳转之后返回xref-go-back M-,buffer内查找函数和变量helm-imenu C-c ilsp-ui-imenu M-j 没有模糊查询lsp-treemacs-symbols C-c C-c S 没模糊查询整个项目内查找函数和变量 helm-lsp-workspace-symbol M-rlsp-treemacs-referenceslsp-ui-peek-find-references C-c C-p r函数调用级别lsp-treemacs-call-hierarchy C-c C-c hbuffer内跳转返回在用imenu 仅限于本buffer中用imenu的方式临时标记一个位置C-SPC,移动到其他位置之后也可以用C-u C-SPC跳回来。如果标记多个,可以倒叙返回。

    51000编辑于 2025-04-19
  • 来自专栏CodeGuide | 程序员编码指南

    重学 Java 设计模式:实战建造者模式

    DecorationPackageMenu,是IMenu接口的实现类,主要是承载建造过程中的填充器。相当于这是一套承载物料和创建者中间衔接的内容。 「好」,那么接下来会分别讲解几个类的具体实现。 代码实现 2.1 定义装修包接口 public interface IMenu { IMenu appendCeiling(Matter matter); // 吊顶 IMenu appendCoat (Matter matter); // 涂料 IMenu appendFloor(Matter matter); // 地板 IMenu appendTile(Matter 2.2 装修包实现 public class DecorationPackageMenu implements IMenu { private List<Matter> list = new ); price = price.add(area.multiply(matter.price())); return this; } public IMenu

    57120发布于 2020-07-14
  • 来自专栏liulun

    WinForm企业应用框架设计【一】界限划分与动态创建WCF服务(no svc!no serviceActivations!)

    AspNetCompatibilityRequirementsMode.Allowed)] [ServiceBehavior(IncludeExceptionDetailInFaults = true)] public class MenuService:IMenu 这些内容超出了咱们这篇文章的范畴了~就不多说了 ServiceBehavior的属性要求把错误发送给客户端,也可以在这里定义其他的服务端行为 类里面的MenuDA就是数据库访问层的代码了~我就不贴出来了 好下面看看这个服务的接口IMenu [ServiceContract] public interface IMenu { [OperationContract] List<

    82540编辑于 2022-05-09
  • 来自专栏草根专栏

    用C# (.NET Core) 实现迭代器设计模式

    控制带项目实现 菜单接口: using System.Collections; namespace IteratorPattern.Abstractions { public interface IMenu using IteratorPattern.MenuIterators; namespace IteratorPattern.Menus { public class DinerMenu: IMenu IteratorPattern.MenuIterators; namespace IteratorPattern.Menus { public class PancakeHouseMenu: IMenu using IteratorPattern.Abstractions; namespace IteratorPattern.Menus { public class CafeMenu : IMenu while (menuIterator.MoveNext()) { var menu = menuIterator.Current as IMenu

    95650发布于 2018-04-28
  • 来自专栏草根专栏

    使用C# (.NET Core) 实现迭代器设计模式 (Iterator Pattern)

    控制带项目实现 菜单接口: using System.Collections; namespace IteratorPattern.Abstractions { public interface IMenu using IteratorPattern.MenuIterators; namespace IteratorPattern.Menus { public class DinerMenu: IMenu IteratorPattern.MenuIterators; namespace IteratorPattern.Menus { public class PancakeHouseMenu: IMenu using IteratorPattern.Abstractions; namespace IteratorPattern.Menus { public class CafeMenu : IMenu while (menuIterator.MoveNext()) { var menu = menuIterator.Current as IMenu

    74830编辑于 2022-05-10
  • 来自专栏Astropeak

    Emacs Helm: 使用关键字搜索、获取、执行任何东西

    比如: 执行emacs 命令 打开文件 查看man文档 执行grep操作 执行apt命令 相看imenu函数定义 切换buffer Helm软件包本身包含两部分,框架本身及应用。

    1.6K40发布于 2018-06-27
  • 来自专栏Astropeak

    Emacs Helm: 使用关键字搜索、获取、执行任何东西

    比如: 执行emacs 命令 打开文件 查看man文档 执行grep操作 执行apt命令 相看imenu函数定义 切换buffer Helm软件包本身包含两部分,框架本身及应用。

    1.6K90发布于 2018-06-27
  • 来自专栏liulun

    WinForm企业应用框架设计【二】团队内部的约定和客户端按约定识别WCF服务

    也就是一个实现了WCF服务接口的实例,我们可以使用这个实例来调用WCF服务 下面我们看看如何调用WCF var factory = new Common.ClientFactory<IMenu

    78120编辑于 2022-05-09
  • 来自专栏liulun

    WinForm企业应用框架设计【五】系统登录以及身份验证+源码

    summary> private void PrepareMenus() { var factory = new Common.ClientFactory<IMenu

    99620编辑于 2022-05-09
  • 来自专栏liulun

    WinForm企业应用框架设计【三】框架窗体设计;动态创建菜单;

    summary> private void PrepareMenus() { var factory = new Common.ClientFactory<IMenu

    1.2K30编辑于 2022-05-09
领券