自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (3)
  • 收藏
  • 关注

原创 Caché 23种设计模式

Caché 23种设计模式前章 Caché 程序员必须知道的七大原则第一章 Caché 设计模式 简单工厂模式第二章 Caché 设计模式 策略模式第三章 Caché 设计模式 装饰者模式第四章 Caché 设计模式 代理模式第五章 Caché 设计模式 工厂方法第六章 Caché 设计模式 原型模式第七章 Caché 设计模式 模版方法模式第八章 Caché 设计模式 外观模式...

2020-05-04 09:59:17 4021

原创 第十六章 疯狂Caché 命令行例程调试(一)

文章目录第十六章 Caché 命令行例程调试(一)使用调试器Caché进行调试使用断点和监视点建立断点和监视点语法:使用代码位置设置断点。断点执行代码中的无参数`GOTO`使用本地和系统变量名称设置监视点操作参数值`ZBREAK`示例禁用断点和监视点禁用特定断点和监视点禁用所有断点和监视点延迟执行断点和监视点删除断点和监视点。单步断点操作第十六章 Caché 命令行例程调试(一)本章介绍用于测试和调试 Caché应用程序的 Caché技术。它的主题包括:使用调试器Caché进行调试使用中断进行调试

2020-05-31 07:34:54 967

原创 第十五章 疯狂Caché 错误处理(三)

文章目录 第十五章 疯狂Caché 错误处理(三)使用`$ETRAP`处理错误`$ETRAP`错误处理程序上下文特定的`$ETRAP`错误处理程序`$ETRAP`错误处理程序`$ETRAP`控制选项流处理错误并继续应用程序将控制传递给另一个错误处理程序终止应用程序在错误处理程序中处理错误`$ETRAP`错误处理程序中的错误`$ZTRAP`错误处理程序中的错误`$ZERROR`和`$ECODE`特殊变量中的错误信息强制出错设置`$ECODE`创建特定于应用程序的错误处理来自Terminal的错误了解错误消息格

2020-05-30 08:49:10 1322

原创 第十五章 疯狂Caché 错误处理(二)

文章目录 第十五章 疯狂Caché 错误处理(二)传统的错误处理传统错误处理的工作原理内部错误捕获行为调用堆栈上的帧当前上下文级别`$STACK`特殊变量`$ESTACK`特殊变量`$STACK`函数错误码`$ZERROR`值`$ECODE`值使用`$ZTRAP`处理错误。在程序中设置`$ZTRAP`在例程中设置`$ZTRAP`编写`$ZTRAP`代码使用`$ZTRAP`使用错误陷阱解除新命令的堆栈。`$ZTRAP`控制选项流继续应用程序将控制传递给另一个错误处理程序 第十五章 疯狂Caché 错误处理(

2020-05-29 08:55:20 1642

原创 第十五章 疯狂Caché 错误处理(一)

文章目录 第十五章 Caché 错误处理(一)`TRY-CATCH`机制使用 `THROW` 和 `TRY-CATCH`使用`$$$ThrowOnError`和`$$$ThrowStatus`宏使用`%Exception.SystemException`和`%Exception.AbstractException`类`try-catch`的其他注意事项在`try-catch`块内退出`TRY-CATCH`和执行堆栈在传统错误处理中使用`try-catch```Status`错误处理创建`%Status`错误

2020-05-28 09:09:43 1290

原创 第十四章 疯狂Caché 事务处理

文章目录 第十四章 Caché 事务处理管理应用程序内的事务处理事务命令使用在事务中使用锁在事务中使用`$INCREMENT`和`$SEQUENCE`应用程序内的事务回滚发出SQL或Caché ObjectScript回滚命令。回调`ETN`应用程序内的事务处理示例自动事务回滚事务处理的系统范围问题使用事务处理进行备份和日志记录异步错误通知 第十四章 Caché 事务处理事务是一个逻辑工作单元。事务处理有助于维护数据库的逻辑完整性。例如,当将资金从一个帐户转移到另一个帐户时,银行可能需要从一个表中的字

2020-05-27 08:53:52 1076

原创 第十三章 疯狂Caché 锁管理

文章目录第十三章 Caché 锁管理在系统范围内管理当前锁使用锁表查看锁使用锁表删除锁^LOCKTAB实用程序正在等待锁定请求数组节点锁请求队列ECP本地和远程锁请求。避免死锁第十三章 Caché 锁管理进程可以使用lock命令应用(锁定)和释放(解锁)锁定。锁控制对数据资源(如全局变量)的访问。这种访问控制是约定的;锁及其对应的变量可以具有相同的名称,但是彼此独立。更改锁不会影响同名变量;更改变量不会影响同名锁。锁本身不会阻止另一个进程修改相关数据,因为Caché不强制执行单边锁。锁只能按照约定工作

2020-05-26 09:00:40 1008

原创 第十二章 疯狂Caché 字符串操作

文章目录 第十二章 Caché 字符串操作基本字符串操作和函数`$Extract`的高级功能分隔字符串高级`$PIECE` 功能列表结构字符串操作稀疏列表和子列表比较列表和分隔字符串列表的优点分隔字符串的优点 第十二章 Caché 字符串操作基本字符串操作和函数ObjectScript基本字符串操作允许对字符串执行各种操作。它们包括:$LENGTH函数返回字符串中的字符数:例如,代码: WRITE $LENGTH("How long is this?")17$JUSTIFY返回右对齐

2020-05-25 09:39:42 1478

原创 第十一章 疯狂Caché 多维数组

文章目录第十一章 Caché 多维数组什么是多维数组多维树形结构稀疏多维存储多维数组的设置操作多维数组第十一章 Caché 多维数组Caché包括对多维数组的支持。多维数组是由一个或多个元素组成的持久变量,每个元素都有唯一的下标。可以混合使用不同种类的下标。下面是MyVar数组的示例:MyVarMyVar(22)MyVar(-3)MyVar(“MyString”)MyVar(-123409, “MyString”)MyVar(“MyString”, 2398)MyVar(1.2, 3, 4

2020-05-24 08:16:39 1451

原创 第十章 疯狂Caché 嵌入式代码

文章目录第十章 Caché 嵌入式代码嵌入式HTML`&html`标记语法嵌入式JavaScript嵌入式SQL第十章 Caché 嵌入式代码嵌入式HTML嵌入的HTML语句通过&html指令与其余代码分开,如下例所示:/// d ##class(PHA.TEST.ObjectScript).TestHTML()ClassMethod TestHTML(){ WRITE "start",! &html< <html>

2020-05-23 09:19:43 598

原创 第九章 疯狂Caché 宏和宏预处理器(三)

文章目录 第九章 疯狂Caché 宏和宏预处理器(三)`#SQLCompile Select``#UnDef``##;``##Continue``##Expression``##Expression`和文字字符串`##Expression`嵌套`##Expression`、子类、`##SafeExpression``##Expression`如何工作的`##Function``##Quote``##SQL``##Unique`使用系统提供的宏可访问系统提供的宏系统支持的宏引用ADDSC(sc1, sc2)E

2020-05-22 08:57:41 708

原创 第九章 疯狂Caché 宏和宏预处理器(二)

文章目录 第九章 疯狂Caché 宏和宏预处理器(二)`#EndIf``#Execute``#If``#IfDef``#IfNDef``#Import``#Include``#NoShow``#Show``#SQLCompile Audit``#SQLCompile Mode``#SQLCompile Path` 第九章 疯狂Caché 宏和宏预处理器(二)#EndIf#EndIf预处理器指令结束一组预处理器条件。它可以跟在#IfDef、#IfUnDef、#If、#ElseI和#Else之后。它的形式

2020-05-21 09:21:48 600

原创 第九章 疯狂Caché 宏和宏预处理器(一)

文章目录第九章 Caché ObjectScript宏和宏预处理器(一)使用宏创建自定义宏宏命名约定。宏空白约定宏注释和Studio助手保存自定义宏调用宏引用外部宏(包括文件)预处理器指令参考`#;``#Def1Arg``#Define`带值的宏宏值的约定没有值的宏JSON转义反斜杠限制`#Dim``#Else`第九章 Caché ObjectScript宏和宏预处理器(一)CachéObjectScript编译器包括预处理器,CachéObjectScript包括对预处理器指令的支持。这些指令允许创建

2020-05-20 09:02:35 814

原创 第八章 疯狂Caché 调用自定义代码模块(二)

文章目录 第八章 疯狂Caché 调用自定义代码模块(二)参数传递按值传递按引用传递可变数量的参数程序代码程序中的`INDIRECT`、`XECUTE`命令和`JOB`命令程序内的错误陷阱 第八章 疯狂Caché 调用自定义代码模块(二)参数传递程序的一个重要特性是它们支持参数传递。这是一种可以将值(或变量)作为参数传递给过程的机制。当然,参数传递不是必需的;例如,不传递参数的过程可用于生成随机数或以默认格式以外的格式返回系统日期。但是,通常情况下,程序确实使用参数传递。要设置参数传递,请指定:

2020-05-19 08:53:28 676 2

原创 第八章 疯狂Caché 调用自定义代码模块(一)

文章目录 第八章 Caché 调用自定义代码模块(一)Procedures, Routines, Subroutines, Functions, Methods 他们是什么?RoutinesSubroutinesFunctions定义程序调用程序使用`$$`前缀使用`DO`命令程序语法程序变量公有变量与私有变量私有变量与使用NEW创建的变量公开形式列表参数公共和私有程序 第八章 Caché 调用自定义代码模块(一)本章介绍如何创建和调用用户定义的ObjectScript代码模块。这些代码单元可以是用户

2020-05-18 09:06:30 824

原创 第七章 疯狂Caché 命令(二)

文章目录 第七章 疯狂Caché 命令(二)流程控制命令有条件执行`IF`, `ELSEIF`, `ELSE`FOR`WHILE` 和 `DO WHILE``I/O` 命令`Write` 命令无参数显示命令显示带有参数的命令`READ``OPEN`, `USE`, `CLOSE` 第七章 疯狂Caché 命令(二)流程控制命令为了建立任何代码的逻辑,必须有流控制;有条件地执行或绕过代码块,或重复执行代码块。为此,ObjectScript支持以下命令:IF, ELSEIF, ELSEFORWHI

2020-05-17 08:29:01 778

原创 第七章 疯狂Caché 命令(一)

文章目录第七章 Caché 命令(一)命令关键字命令参数多个参数带参数和后置条件的参数无参数命令无参数命令和花括号命令后置条件表达式后置条件语法计算后置条件一行上有多个命令变量赋值命令`SET``KILL``NEW`代码执行上下文命令调用代码`DO``JOB``XECUTE``QUIT` 和 `RETURN`第七章 Caché 命令(一)命令是CachéObjectScript编程中的基本代码单元。CachéObjectScript中的所有执行任务都由命令执行。每个命令都包含一个命令关键字,后跟(在大多

2020-05-16 08:46:21 1968 1

原创 第六章 疯狂Caché 正则表达式(二)

文章目录第六章 疯狂Caché 正则表达式(二)逻辑运算符字符表示元字符十六进制、八进制和Unicode表示法控制字符表示法符号模式正则表达式序列的模式文本的模式注释嵌入的注释行结束注释错误消息匹配所有字母第六章 疯狂Caché 正则表达式(二)逻辑运算符可以通过将值与逻辑AND(&&)、逻辑OR(|)和减法(--)运算符组合来表示复合字符类型。复合字符类型必须用方括号括起来。隐式OR:可以使用不带逻辑运算符的方括号来指定匹配字符的列表或范围,其中一个必须为TRUE。以下示例匹配所有

2020-05-15 08:18:55 805

原创 第六章 疯狂Caché 正则表达式(一)

文章目录第六章 Caché正则表达式(一)通配符和限定符文字和字符范围字符类型元字符单字母字符类型Unicode属性字符类型POSIX字符类型分组构造锚元字符字符串开始或结束字词边界第六章 Caché正则表达式(一)Caché支持正则表达式与以下CachéObjectScript函数$LOCATE和$MATCH以及%Regex.Matcher类的方法一起使用。所有其他Caché子字符串匹配操作都使用Caché模式匹配运算符。本章介绍正则表达式的以下功能:通配符和限定符。示例:.*匹配任意数量的任

2020-05-14 08:43:29 1115

原创 第五章 疯狂Caché 运算符和表达式(五)

文章目录 第五章 疯狂Caché 运算符和表达式(五)间接寻址名称间接模式间接参数简介下标间接$TEXT参数间接 第五章 疯狂Caché 运算符和表达式(五)间接寻址CachéObjectScript间接操作符(@)允许间接为变量赋值。间接寻址是一种通过数据字段的内容提供部分或全部命令行、命令或命令参数的动态运行时替换的技术。Caché在执行相关命令之前执行替换。尽管与其他方式相比,间接寻址方式可以更通用的编码,但它从来不是必需的。始终可以通过其他方式复制间接的效果,例如使用XECUTE命令。只有

2020-05-13 08:59:35 714

原创 第五章 疯狂Caché 运算符和表达式(四)

文章目录第五章 疯狂Caché 运算符和表达式(四)模式匹配指定模式可以出现的次数指定多个模式指定组合模式指定不确定模式指定交替模式(逻辑或)使用不完整的模式解释多重模式不匹配运算符第五章 疯狂Caché 运算符和表达式(四)模式匹配Caché支持两种模式匹配系统:这里描述的Caché模式匹配是一种用问号(?)分隔模式字符串开头的语法。或(‘?)。正则表达式,许多软件供应商支持的模式匹配语法。正则表达式可以与$LOCATE和$MATCH函数以及%Regex.Matcher类的方法一起使用。这

2020-05-12 08:45:35 708

原创 第五章 疯狂Caché 运算符和表达式(三)

文章目录第五章 疯狂Caché 运算符和表达式(三)字符串连接运算符连接编码的字符串数值关系运算符小于大于大于或等于小于或等于字符串关系运算符等于不等于包含不包含跟随不跟随排序不排序第五章 疯狂Caché 运算符和表达式(三)字符串连接运算符字符串运算符(_)是将其操作数解释为字符串并返回字符串值的二进制(两个操作数)运算符。可以使用连接来组合字符串文字、数字、表达式和变量。它采用以下形式:operand_operand串联生成的结果是由追加到左操作数的右操作数组成的字符串。它将它们视为字符串

2020-05-11 08:20:43 729

原创 第五章 疯狂Caché 运算符和表达式(二)

文章目录第五章 疯狂Caché 运算符和表达式(二)算术运算符一元正运算符(+)一元负运算符(-)加法运算符(+)减法运算符(-)乘法运算符(*)除法运算符(/)求幂运算符(`**`)整数除法运算符(`\` )取余数(`#`)逻辑比较运算符一元运算符Not优先运算符和逻辑运算符And与非与(NAND)或非或(或非)(NOR)第五章 疯狂Caché 运算符和表达式(二)算术运算符算术运算符将其操作数解释为数值并生成数值结果。在对字符串进行操作时,算术运算符会根据“字符串到数字转换”一节中描述的规则,将该

2020-05-10 10:10:25 817

原创 第五章 疯狂Caché 运算符和表达式(一)

文章目录第五章 Caché 运算符和表达式运算符和表达式简介运算符符号表运算符优先一元负运算符括号和优先顺序函数和优先级表达式逻辑表达式赋值字符串到数字的转换数字字符串非数字字符串第五章 Caché 运算符和表达式Caché支持许多不同的运算符,这些运算符执行各种操作,包括数学操作、逻辑比较等。运算符作用于表达式,表达式是最终计算为某个值的变量或其他实体。运算符和表达式简介运算符是指定要对其关联操作数执行的操作的符号字符。每个操作数由一个或多个表达式或表达式原子组成。一起使用时,运算符及其关联的操作

2020-05-09 09:09:24 1343 3

原创 第四章 疯狂Caché 变量

文章目录 第四章 变量变量类别局部变量命名约定无效命名类型、用法和范围进程-私有全局变量命名约定列表进程-私有全局变量全局变量global下标变量数组变量特殊变量对象属性变量类型和转换对象值变量声明和范围使用#Dim 第四章 变量变量是可以存储值的位置的名称。在CachéObjectScript中,变量没有关联的数据类型,不必声明它。通常,可以使用set命令通过为变量赋值来定义变量。可以将空...

2020-05-08 09:11:24 1175

原创 第三章 疯狂Caché 数据类型和值

文章目录第三章 Caché 数据类型和值String 字符串转义引号连接字符串字符串比较字母和字符串比较长字符串位字符串 Bit StringsNumbers 数字数的基本原理数的标准型数字形式的字符串连接数字小数科学记数法极大数字对象未定义的值布尔值日期第三章 Caché 数据类型和值CachéObjectScript是一种无类型语言。不必声明变量的类型。任何变量都可以有字符串、数值或对象值...

2020-05-07 08:47:38 2072 1

原创 第二章 疯狂Caché 语法规则

文章目录第二章 Caché 语法规则区分大小写标识符Unicode空格注释例程和方法的int代码中的注释例程和方法的MAC代码中的注释方法代码之外的类定义中的注释文字值字符串文字值数字文字标识符标识符内的标点符号标签使用标签结束标有标签的代码部分命名空间扩展参考文献保留字第二章 Caché 语法规则区分大小写ObjectScript的某些部分区分大小写,而其他部分不区分大小写。一般来说,Ob...

2020-05-06 09:24:11 1660 5

原创 第一章 疯狂Caché 介绍CachéObjectScript

文章目录第一章 Caché 介绍CachéObjectScript简介特点语言概述调用命令和功能语句和命令函数表达式变量运算符与ISO标准M的关系第一章 Caché 介绍CachéObjectScript简介CachéObjectScript是一种对象编程语言,旨在快速开发复杂的业务应用程序。它非常适合各种应用,包括:商业逻辑应用整合数据处理CachéObjectScript源代...

2020-05-05 09:00:58 2786

原创 前章 Caché 程序员必须知道的七大原则

文章目录单一职责原则定义判断反例正例开放-封闭原则定义现实应对依赖颠倒原则定义举例里氏替换原则定义迪米特法则定义接口隔离原则定义缺点合成/聚合复用原则有点示例初识UML类图单一职责原则定义就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会消弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发...

2020-05-04 09:29:25 1571

原创 第二十四章 Caché 设计模式 访问者模式

文章目录第二十四章 Caché 设计模式 访问者模式定义使用场景目的优点缺点结构图描述完整示例状态抽象类人抽象类具体状态类具体人类对象结构类调用思考第二十四章 Caché 设计模式 访问者模式定义表示一个作用域某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用与这些元素的新操作。使用场景被访问者不变根据访问者和被访问者的不同,两两对应达到不同的目的。遍历被...

2020-05-03 08:22:49 935

原创 第二十三章 Caché 设计模式 解释器模式

文章目录第二十三章 Caché 设计模式 解释器模式定义使用场景优点缺点结构图描述完整示例抽象解释器上下文终结符表达式非终结符表达式调用思考第二十三章 Caché 设计模式 解释器模式定义给定一个语义,语义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。使用场景如果一种特性类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言...

2020-05-02 07:52:47 680

原创 第二十二章 Caché 设计模式 享元模式

文章目录第二十二章 Caché 设计模式 享元模式定义优点使用场景结构图描述完整示例实体类抽象享元角色实现享元角色享元工厂调用思考第二十二章 Caché 设计模式 享元模式定义运用共享技术有效地支持大量细粒度的对象。优点享元模式可以避免大量非常相似类的开销,在程序设计中,有时需要生成大量细粒度的类实例来表示数据。如果能发现这些实例除了几个参数外基本上相同的,有时就能够大幅度地减少需要...

2020-05-01 08:57:19 727

数据生成实体类代码文件

数据生成实体类代码文件

2023-07-04

拓展系统变量CustomVariable.xml

拓展系统变量CustomVariable.xml

2023-05-07

IRIS通用拓展函数xml代码

IRIS通用拓展函数xml代码

2023-04-18

拓展系统命令使用xml

拓展系统命令使用xml

2023-04-14

Util.EncryptionDeployedObj.xml

Util.EncryptionDeployedObj.xml

2023-04-02

IIRIS单元测试xml类文件tests.zip

TestMe,Contact,Tests

2021-05-14

Lottie使用说明

Lottie使用说明

2021-01-02

Design.xml

包含对应博客Caché 设计模式 后台代码,函盖23种设计模式后台代码。感兴趣可以,仿照写对应的设计模式,博客https://blog.csdn.net/yaoxin521123,群号:410039091,QQ号454115408,公众号:技术理科直男。

2020-05-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除