pattern
typescript: Memento Pattern
/** * Memento Pattern 备忘录是一种行为设计模式, 允许生成对象状态的快照并在以后将其还原。 * The Originator holds some important state that may change over time. It also * defines a me ......
typescript: Chain of Responsibility Pattern
/** * Chain of Responsibility Pattern 责任链是一种行为设计模式, 允许你将请求沿着处理者链进行发送, 直至其中一个处理者对其进行处理。 * file: Chaints.ts * The Handler interface declares a method fo ......
typescript: Proxy Pattern
/** * Proxy Pattern 代理是一种结构型设计模式, 让你能提供真实服务对象的替代品给客户端使用。 代理接收客户端的请求并进行一些处理 (访问控制和缓存等), 然后再将请求传递给服务对象。 * The Subject interface declares common operatio ......
typescript: Flyweight Pattern
/** * Flyweight Pattern 享元是一种结构型设计模式, 它允许你在消耗少量内存的情况下支持大量对象。 * https://refactoringguru.cn/design-patterns/flyweight/typescript/example#lang-features * ......
设计模式之 Observer Pattern观察者模式
观察者模式Observer Observer模式为组件向相关接收方【广播】消息提供了灵活的方法; 该模式定义了对象一到多的依赖关系,这样当对象改变状态时,将自动通知并更新他所有的依赖对象; 优点 抽象了主体与Observer之间的耦合关系; 支持广播方式的通信 适用 对一个对象的修改涉及其他对象的修 ......
设计模式之 State Pattern状态模式
State模式允许对象在内部状态变化时,变更其行为,并修改其类; 优点: 定位指定状态的行为,并且针对不同状态来划分行为,使状态转换显式进行; 适用: 对象的行为依赖于其状态,并且该对象必须在运行时根据其状态修改其行为; 操作具有大量的以及多部分组成的取决于对象状态的条件语句; public cla ......
typescript: Facade Pattern
/** * Facade pattern 外观是一种结构型设计模式, 能为复杂系统、 程序库或框架提供一个简单 (但有限) 的接口。 * The Facade class provides a simple interface to the complex logic of one or * sev ......
typescript: Decorator Pattern
/** * Decorator Pattern 装饰是一种结构设计模式, 允许你通过将对象放入特殊封装对象中来为原对象增加新的行为。 * The base Component interface defines operations that can be altered by * decorato ......
typesciprt: Composite Pattern
/** * Composite Pattern 组合是一种结构型设计模式, 你可以使用它将对象组合成树状结构, 并且能像使用独立对象一样使用它们。 * https://refactoringguru.cn/design-patterns/composite/typescript/example#la ......
System Architecture Patterns All In One
System Architecture Patterns All In One
系统架构模式
......
typescript: Bridge Pattern
/** * Bridge Pattern 桥接是一种结构型设计模式, 可将业务逻辑或一个大类拆分为不同的层次结构, 从而能独立地进行开发。 * https://dev.to/takaakit/uml-diagram-for-gof-design-pattern-examples-in-typescr ......
React in patterns
In brief > Foundation 1. Communication - Input - Output 2. Event handlers 3. Composition - Using React's children API - Passing a child as a prop - Hi ......
typescript: Adapter pattern
/** * Adapter pattern 适配器是一种结构型设计模式, 它能使不兼容的对象能够相互合作。 * file: Adapterts.ts * * */ /** * The Target defines the domain-specific interface used by the c ......
typescript: Singleton Pattern
/** * file: Singletonts.ts * Singleton Pattern 单例是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。 * The Singleton class defines the `getInstance` method ......
Flutter/Dart第10天:Dart高级特性Pattern模式的全部类型(共15种)
Pattern模式是Dart 3.0发布的3个高级特性之一,在第09天我们学习了模式的概览和用法,对模式的强大之处有了基本的认识,今天我们来看看Dart中的全部模式类型,总共有15种,它们包括逻辑或、逻辑与、关系、值转换、空检测、空断言、常量、变量、标识符、括号、List列表、Map映射、Recor... ......
typescript: Prototype Pattern
/** * Prototype Pattern 原型是一种创建型设计模式, 使你能够复制对象, 甚至是复杂对象, 而又无需使代码依赖它们所属的类。 * The example class that has cloning ability. We'll see how the values of fi ......
typescript: Builder Pattern
/** * TypeScript 实体类 Model * Builder Pattern * 生成器是一种创建型设计模式, 使你能够分步骤创建复杂对象。 * https://stackoverflow.com/questions/12827266/get-and-set-in-typescript ......
Flutter/Dart第09天:Dart高级特殊Pattern模式的概览和用法
Dart 3.0在语法层面共发布了3个高级特性,第一个特性Record记录我们在前面已经学习和探究。今天我们来学习第二个高级类型Pattern模式,由于内容较多,共分2篇文章进行介绍,本文首先介绍模式的概览和用法,包括匹配、解构、在变量申明、赋值、循环、表达式等应用场景…… ......
Java 21 新特性:Unnamed Patterns and Variables
Java 21中除了推出JEP 445:Unnamed Classes and Instance Main Methods之外,还有另外一个预览功能:未命名模式和变量(Unnamed Patterns and Variables)。该新特性的目的是提高代码的可读性和可维护性。 下面通过一个例子来理解 ......
JDK21新特性Record Patterns记录模式详解
1 摘要 通过使用记录模式来增强Java编程语言,以解构记录值。记录模式和类型模式可嵌套使用,从而实现强大、声明式和可组合的数据导航和处理形式。 2 发展史 由 JEP 405 提出的预览功能,并在JDK 19发布,然后由 JEP 432 再次预览,并在JDK 20发布。该功能与用于switch的模 ......
Java 21 新特性:Record Patterns
Record Patterns 第一次发布预览是在JDK 19、随后又在JDK 20中进行了完善。现在,Java 21开始正式推出该特性优化。下面我们通过一个例子来理解这个新特性。 record Point(int x, int y) {} static void printSum(Object o ......
Learning Heterogeneous Temporal Patterns of User Preference for Timely Recommendation
目录概符号说明TimelyRecMulti-aspect Time Encoder (MATE)Time-aware History Encoder (TAHE)Prediction代码 Cho J., Hyun D., Kang S. and Yu H. Learning heterogeneou ......
Paper Reading: Hashing-Based Undersampling Ensemble for Imbalanced Pattern Classification Problems
针对欠采样方法会丢弃大量多数类样本导致信息缺失的问题,本文提出了基于哈希的欠采样集成 HUE 模型,它利用 Bagging 和多数类样本的分布特征来构建多样化的训练子集。首先 HUE 通过散列将大多数类样本划分为不同的特征子空间,然后使用所有少数样本和主要从同一哈希子空间中提取的部分多数样本来构建训... ......
Visitor Pattern
光看访客这个名字,猜测这个访客模式应该非常好理解,只要玩过Linux的人,都能深刻明白Root和非Root和访客账号登录的巨大差别性。 # What is Visitor? 如果你没玩过Linux,那么假设公共的图书馆有一台电脑,有两个账户: - 其中一个是**管理员(Admin)**的账户,拥有这 ......
Interpreter Pattern
# It can explain what ? 如下是解释器要解释的主体: - 加减乘除等运算,3+4/9+6*8 - 摩尔斯电码 - 正则表达式 - El表达式 - OGNL表达式 - 小明是北京人 - 小红是一名售货员 - 部门领导下发一则通知 - ... # How explain ? 解释器 ......
Induction of Design Pattern
网上查到的设计模式有23种,通过归纳去认识他们也是一种不错的视角。 我这边不按照主流的观点去划分为创建型、结构型、行为型三大类,我只归纳为创建型(Creational Class)、简单功能场景(Simple Method Class)、复杂功能场景(Complex Method Class)三大类 ......
Mediator Pattern
Mediator Pattern 就类似现实生活中的中介(中间人),房屋中介、媒婆中介、权利寻租中介... ,现实中为什么需要中介,在现实中的原因主要是两个 一为了保护双方当事人的安全,只要中介人不泄密,他们双方就可以秘密的把交易完成,并且双方都是安全的。二是买卖双方并不信任双方,但是他们都共同的信 ......
Bridge Pattern
# What is Bridge Pattern 桥接模式(Bridge Pattern),旨在将抽象部分和实现部分解耦,使它们可以独立地变化。该模式通过将抽象和实现分离,使它们可以独立地进行扩展和修改,同时通过桥接(Bridge)将它们连接起来。 将一个事物原本耦合在一起的东西,通过定义成抽象和实 ......
Template Pattern —— Behavioral Class
# Hook Method 钩子方法(Hook Method)之所以被称为“钩子”,是因为它在算法或流程中提供了一个“钩子”,允许子类在特定的点上“钩入”自己的实现逻辑,从而影响算法的行为或流程的执行。 它类似于一个挂钩、锚点,所以叫Hook method, 它允许子类插入自定义的代码来改变或扩展算 ......
Flyweight Pattern —— Creational Class
享元模式在主流的标准里是放到结构大类下的,但是我感觉这个模式的最终作用也是为了获取一个类,所以我将其划分到创建大类下。 # What is Flyweight Pattern Flyweight 是指轻量级的。 享元模式旨在支持大量细粒度的对象共享,以减少内存消耗。该模式通过共享相似对象的部分状态, ......