摘要:
由于工厂方法模式中的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,可以考虑将一些相关的产品组成一个“产品族”,由同一个工厂来统一生产,这就是抽象工厂模式的基本思想。 为了更好地理解抽象工厂模式,这里先引入如下两个概念: 1. 产品等级结构。产品等级结构即产品的 阅读全文
摘要:
简单工厂模式虽然简单,但是存在一个问题:当系统中需要引入新产品时,由于静态工厂方法通过所传入参数的不同来创建不同的产品,这必定要修改工厂类的源代码,将违背开闭原则。在工厂方法模式中,不再提供一个统一的工厂类来创建所有的产品对象,而是针对不同的产品提供不同的工厂,系统提供一个与产品等级结构对于的工厂等 阅读全文
摘要:
简单工厂模式:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。 1. Factory:工厂类,它是简单工厂模式的核心,负责实现创建所有产品实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。在工厂类中提供了静态的工厂方法factoryMethod() 阅读全文
摘要:
创建型模式将对象的创建和使用分离,在使用对象时无需关注对象的创建细节,从而降低系统的耦合度,让设计方案更易于修改和扩展。 模式名称 定义 学习难度 使用频率 单例模式 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例 一颗星 四颗星 简单工厂模式 定义一个工厂类,它可以根据参数的不同 阅读全文
摘要:
设计原则名称 定义 使用频率 单一职责原则 一个类只负责一个功能领域中的相应职责 四颗星 开闭原则 软件实体应对扩展开发,而对修改关闭 五颗星 里氏代换原则 所有引用基类对象的地方能够透明地使用其子类的对象 五颗星 依赖倒转原则 抽象不应该依赖于细节,细节应该依赖于抽象 五颗星 接口隔离原则 使用多 阅读全文
摘要:
//ListBox中的ItemTemplate用于定义每个单独项的外观,允许你自定义ListBox中显示的每个数据项的样式和布局。 //可以在ItemTemplate中放置控件、数据绑定和其他布局结构,以便在ListBox中呈现每个数据项时具有一致的外观。 ItemTemplate的使用使得List 阅读全文
摘要:
FontFamily="Arial,Microsoft YaHei"表示在显示文本时,程序会首先尝试使用Arial字体,如果系统中没有安装Arial字体,则会使用Microsoft YaHei字体来显示文本。 阅读全文
摘要:
WPF的TextTrimming="CharacterEllipsis"是一种文本修剪方式,用于在文本长度超过容器宽度时省略文本。它会在文本末尾添加省略号(...),同时保留尽可能多的字符。这种修剪方式通常用于UI设计中,以避免文本溢出并保持视觉美观。 可以通过设置TextTrimming属性来指定 阅读全文
摘要:
以下是可能会阻止事件传递的情况: 1. 事件处理程序中使用了e.Handled = true;语句,这会阻止事件继续传递给其它控件。 2. 控件的IsHitTestVisible属性被设置为false,这会使控件无法接收鼠标事件。 3. 控件的IsEnabled属性被设置为false,这会使控件无法 阅读全文
摘要:
是在MVVM中用来传递消息的一种方式。它是在MVVMLight框架中提供的一个实现了IMessenger接口的类,可以用来在ViewModel之间、ViewModel和View之间传递消息。 Send 接受一个泛型参数,表示要发送的消息内容。 Register 方法用于注册某个对象接收消息。 pub 阅读全文