刷新
PLC结构化文本(ST)——继承(inheritance)

博主头像 PLC Structured Text Object Oriented Programming PLC结构化文本(ST)——继承(inheritance) 继承的概念 继承是面向对象程序设计中最重要的概念之一。继承允许我们根据一个类来定义另一个类,这使得创建和维护应用程序变得更容易。同时也有利于重用 ...

设计模式之命令模式

博主头像 命令模式(Command Pattern),给大家的第一感觉,就是给程序发送命令,比如:启动、暂停,然后程序根据接收到的命令直接执行就行。这样的理解相对来说比较狭义,来看下命令模式官方的定义:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便 ...

PLC结构化文本(ST)——属性(Property)

博主头像 PLC Structured Text Object Oriented Programming PLC结构化文本(ST)——属性(Property) 属性的定义 C# 中的属性(Property)是类和结构体中用于封装数据的成员。它们提供了一种方式来定义类成员的访问和设置规则,通常用于隐藏字段(Fi ...

设计模式之备忘录模式

博主头像 备忘录模式(Memento Pattern)官方的定义是这样的:在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。它是面向对象的23种设计模式中的一种,属于行为模式的范围。直白点说就是:我们可以在不暴露更多字段的前提下,直接将某个对象 ...

信息系统设计速查表

博主头像 信息系统设计速查表需求收集功能性需求:通过用户访谈、问卷调查和市场分析来确定系统必须实现的功能。 非功能性需求:定义性能基准(如响应时间)、安全性要求(如数据加密标准,传输加密)、可靠性标准(如系统的正常运行时间, MTTR)。 用户故事:使用敏捷方法论,如Scrum,来创建和优先级排序用户故事。 ...

设计模式之迭代器模式

博主头像 迭代器模式很多人都熟悉,但是什么是迭代器,为什么要用迭代器?这个很多人就很难做出具体回答了,只是知道如果有了迭代器,那么我们就能foreach遍历了,方便循环处理。这只是对迭代器的用途,进行了回答,foreach语法是java1.5时加入的语法糖,那么在这之前呢,之前是怎么做的?要知道并不是所有容器 ...

【ROS教程】话题通信

博主头像 @目录1.流程2.自定义发布数据2.1 std_msgs内置类型2.2 编写.msg文件2.3 修改package.xml文件2.3.1 完整的package.xml文件2.4 修改CMakeLists.txt文件2.4.1 修改find_package指令2.4.2 添加add_message_f ...

IOC和DI的理解

博主头像 IOC与DI的理解 1.1、IoC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什 ...

【ROS教程】编写launch文件

博主头像 @目录1.launch文件有哪些标签2.node标签2.1 必选属性2.2 可选属性2.3 可选子级标签3.include标签3.1 必选属性3.2 可选属性3.3 可选子级标签4.remap标签4.1 必选属性5.param标签5.1 必选属性5.2 可选属性6.rosparam标签6.1 必选属 ...

【ROS教程】服务通信

博主头像 @目录1.流程2.自定义请求和响应的数据2.1 std_msgs内置类型2.2 编写.srv文件2.3 修改package.xml文件2.4 修改CMakeLists.txt文件2.4.1 修改find_package指令2.4.2 添加add_message_files指令2.4.3 添加gene ...

架构实战

博主头像 所谓架构,意即系统架构,广义上它涵盖业务架构、运维架构、组织架构等所有系统构建场景,本文特指一般开发人员主要关注的开发架构。 关于架构的理论有很多,每个人也都有各自的理解,笔者相信很多人在实际运用中也会遇到各种各样的问题和困惑,本文抛开教条,从一个实际项目的演化看何为架构。 项目背景 开始之前,先了 ...

万丈高楼平地起:UML类图

博主头像 UML类图 UML类图 是一种静态的结构图,描述了系统的类的集合,类的属性和类之间的关系,可以简化了人们对系统的理解。UML类图 是系统分析和设计阶段的重要产物,是系统编码和测试的重要模型。 图示 类 解析 圆角矩形框,它就代表一个类(Class) 类图分为三层: 第一层显示类的名称,如果是抽象类, ...

【ROS教程】ROS文件系统和基础架构

博主头像 @目录1.工作空间目录1.1 package.xml2.启动节点的方式2.1 一次启动一个2.2 一次启动多个3.ROS常用命令3.1 增3.2 查3.3 执行3.3.1 加载环境变量3.3.2 运行节点3.4 查看计算图4.创建功能包4.1 选择工作目录4.2 创建功能包目录4.3 建立功能包 1 ...

【ROS教程】ROS常用命令

博主头像 @目录1.rosnode1.1 rosnode ping1.1.1 测试所有节点的连接状态1.1.2 测试到某个节点的连接状态1.2 rosnode list1.3 rosnode info1.4 rosnode machine1.4.1 列出所有设备1.4.2 查看指定设备上的运行节点1.5 ro ...

【ROS教程】ROS常用API讲解

博主头像 @目录1.节点初始化2.话题通信2.1 创建发布者对象2.2 消息发布2.3 创建订阅者对象3.服务通信3.1 创建服务对象3.2 创建客户对象3.3 客户发送请求3.4 客户对象等待服务4. 回旋函数4.1 spin4.2 spinOnce5.时间5.1 时刻5.1.1 获取当前时刻5.1.2 设 ...

Logging日志

博主头像 日志处理logging 一、日志输出 日志默认的输出等级为:waring级别及以上的等级 修改日志的默认输出等级通过logging.basicConfig(level='INFO') 记录日志打印时间:logging.basicConfig(format=console_fmt) console_f ...

设计模式——六大原则

博主头像 一、 六大设计原则 1. 单一职责原则:应该有且仅有一个原因引起类的变更 2. 里氏替换原则:子类可替换父类。 a) 子类必须完全实现父类的方法 b) 子类可以有自己的个性 c) 子类实现父类方法时,入参可放大 d) 子类实现父类方法时,输出参数可缩小 3. 依赖倒置原则:高层模块不应该依赖底层模块 ...

事件总线的设计与实现

博主头像 事件总线(在有些框架中也称时间聚合器,如Prism的EventAggregater)是订阅-发布模式的一种实现,类似观察者模式,相对于观察者模式,事件总线更灵活,它是一种集中处理事件的模式,允许不同组件之间通信,降低耦合度。 事件总线的三要素:事件源(事件的定义)、发布事件(触发事件)、订阅事件(事 ...

<1···8910···50>