模式 设计模式 责任

如何设计一个网页爬虫

作为长期深耕在爬虫行业的程序猿来说,对于设计一个网页爬虫想必很简单,下面就是一些有关网页爬虫设计的一些思路,可以过来看一看。 第一步:简述用例与约束条件 把所有需要的东西聚集在一起,审视问题。不停的提问,以至于我们可以明确使用场景和约束。讨论假设。 我们将在没有面试官明确说明问题的情况下,自己定义一 ......
爬虫 网页

Solon2 接口开发: 强化 Gateway 模式

一般可以从这几方面对 Gateway 模式进行强化: 定制异常状态码 定制基类 将一些处理独立封装成类 接口只返回数据部份,异常状态用抛 强化之后,具体的网关即简单,又功能强大。同时会对团队开发形成一定的风格和约束。 API_0(异常状态用抛) @Component(tag = "api") pub ......
接口 Gateway 模式 Solon2 Solon

小程序类UI设计规范

写在前面: 因为最近分别做了飞书小程序和微信小程序,但公司没有ui设计师,因此一个小程序没设计,一个小程序是由美术组的同学设计的,整体开发下来都是一言难尽的感觉,所以整理了一份比较基础的设计规范,保证小程序类的设计,在参考此文档的基础上,可以达到60分及格分,不至于乱七八糟,体验极差。 导语: 因为 ......
程序

模糊神经网络控制器的S函数设计

目录 一、理论基础 二、核心程序 一、理论基础 模糊神经网络的设计主要包括如下几个方面: (1)选取模糊神经网络控制器输入端和输出端变量; (2)选取模糊神经网络控制器输入端和输出端变量相关参数; (3)计算模糊神经网络集隶属函数并总结模糊神经网络控制器控制规则; (4)确定模糊神经网络控制器模糊化 ......
神经网络 控制器 函数 神经 网络

用状态模式改善代码的可维护性

设计模式之状态模式 状态模型是一种软件设计模式,它通过将对象的行为随状态变化而变化来实现状态机的行为。状态机可以将一个对象的生命周期分解为若干个状态,并规定在不同状态下,对象可以进行哪些行为,以及如何从一个状态转移到另一个状态。 状态模型中的状态被封装在不同的状态类中,这些状态类实现了一个共同的接口 ......
可维护性 状态 模式 代码

状态迁移表:一种简洁的 FSM 设计工具

关于订单状态迁移表的概述 状态迁移表(State Transition Table)是一种常见的状态机模型表示方式,用于记录状态机中不同状态之间的转移条件。它通常是一个二维表格,其中表格的行表示状态机中的状态,而表格的列则表示可以触发状态转移的事件或条件。表格中的每个单元格记录了在某个状态下,如果满 ......
状态 工具 FSM

系统设计中的有限状态机FSM技术解析

FSM(有限状态机)是一种数学模型,用于描述系统或程序的行为,SM的状态机设计要点包括确定状态集合、转移函数、初始状态和结束状态,绘制状态图和转移表格,以及状态机的实现。其设计要点包括以下几个方面: 确定状态集合:需要明确系统可能的所有状态,并将其表示为一个状态集合。状态集合应该包含系统的所有可能状 ......
状态 系统 技术 有限 FSM

如何分析并设计性能测试场景

转载:https://www.cnblogs.com/imyalost/p/16500205.html 前几天写了一篇文章《如何设计自动化测试case》,里面聊到了为什么要设计case: 便于业务活动开展 确保业务场景覆盖 质量度量和质量内建 其实这几点原因,在性能测试活动中同样适用。 这篇文章,我 ......
场景 性能

领域驱动架构设计之事件篇

前言 领域驱动设计基于CQRS的事件架构, 可以使命令发起者和命令执行者解耦。通过一系列的事件的追加存储,可以对事件的追踪和溯源。采用事件架构模式,更加面向与业务职能,将复杂的业务场景拆分成不同事件执行,在一定程度上达到解耦和复用的目的。事件的发起者和执行分离,解耦下游的相关的系统,下游只需要监听关 ......
架构 领域 事件

读后笔记 -- Java核心技术(第11版 卷I )Chapter1-2 Java 程序设计

本书源码(下载对应版本的代码):https://horstmann.com/corejava/index.html Java 17 API 文档:https://docs.oracle.com/javase/17/docs/api 配套视频讲解(卷一):https://space.bilibili. ......
读后 Java 程序设计 Chapter1 核心

hash模式下前后端路径相同时,nginx如何转发

背景:前期没有进行前后端分离,前端页面由后端转发,即路由的前缀由后端的接口前缀决定;现在想要做到不改变路径做前后端分离且容器化。 前后端分离后,前后端的转发要根据路径前缀做转发,假如项目没有对外开放,内部使用,前端直接在router添加baseUrl,url会自动带上这个路径,以后访问路径需要更改; ......
路径 模式 nginx hash

Java:数据表的字段设计了默认值0不生效的原因

在数据表里给字段设置了默认值为0,但是在插入的时候不生效,数据表设计如下 通过数据表生成的实体类 查看代码 @Data @TableName(value = "user") @NoArgsConstructor @AllArgsConstructor public class UserEntity{ ......
数据表 字段 原因 数据 Java

设计模式(二十五)----行为型模式之访问者模式

1 概述 定义: 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 2 结构 访问者模式包含以下主要角色: 抽象访问者(Visitor)角色:定义了对每一个元素(Element)访问的行为,它的参数就是可以访问的元素,它的方法个数理论上来讲 ......
模式 设计模式 访问者 行为

设计模式(二十七)----行为型模式之解释器模式

1 概述 如上图,设计一个软件用来进行加减计算。我们第一想法就是使用工具类,提供对应的加法和减法的工具方法。 //用于两个整数相加 public static int add(int a,int b){ return a + b; } ​ //用于两个整数相加 public static int a ......
模式 解释器 设计模式 行为

设计模式(二十四)----行为型模式之迭代器模式

1 概述 定义: 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。 2 结构 迭代器模式主要包含以下角色: 抽象聚合(Aggregate)角色:定义存储、添加、删除聚合元素以及创建迭代器对象的接口。 具体聚合(ConcreteAggregate)角色:实现抽象聚合类,返回一 ......
模式 设计模式 行为

初学后端,如何做好表结构设计?

这篇文章介绍了设计数据库表结构应该考虑的4个方面,还有优雅设计的6个原则,举了一个例子分享了我的设计思路,为了提高性能我们也要从多方面考虑缓存问题。 ......
结构设计 结构

前端设计模式——模板方法模式

模板方法模式(Template Method Pattern):定义一个行为的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个行为的结构即可重定义该行为的某些特定步骤。 这些步骤被称为“具体操作”(Concrete Operations),而整个行为的结构和顺序则被称为“模板方法”(T ......
模式 设计模式 前端 模板 方法

责任链模式

begin 2021年12月11日20:47:41 责任链模式 定义 Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the reques ......
模式 责任

前端设计模式——桥接模式

桥接模式(Bridge Pattern)是一种结构型设计模式,用于将一个大类或一系列紧密相关的类拆分为抽象和实现两个独立的层次结构,从而能够更好地组合和扩展这些类。 在前端开发中,桥接模式通常用于处理 UI 组件的复杂性,将组件的抽象与实现分离,使得它们能够独立地变化。通过桥接模式,我们可以让组件的 ......
模式 设计模式 前端

前端设计模式——过滤器模式

前端设计模式中的过滤器模式(Filter Pattern)是一种结构型设计模式,它允许我们使用不同的条件来过滤一组对象,并返回符合条件的对象列表。 在过滤器模式中,我们有一个包含多个对象的列表,需要根据一些条件来筛选出符合条件的对象。通常情况下,可以使用多个过滤器来实现这个功能。每个过滤器都是一个独 ......
模式 设计模式 前端 过滤器

简单明了的体会构建者模式

我们由一个小小的Demo来引出主题,尽管这个Demo有点长~~,我相信还是值得你一看的! 木兰诗中有:“雄兔脚扑朔,雌兔眼迷离;双兔傍地走,安能辨我是雌雄?” 对象之间的比较想必大家都很熟悉。只须用 util 包中的Objects.equals()方法即可。如果我想找出对象之间不相同的属性呢? 那肯 ......
明了 模式

aspnetcore微服务中使用发件箱模式实例

aspnetcore微服务种服务之间的通信一般都有用到消息中间件,如何确保该服务的持久层保存创建的数据同时又把消息成功投递到了关联服务,关联服务做对应的处理。 下面就以一个简单的例子来演示实现方式之一,即发件箱模式。 下面解决方案有两个服务,做演示用的比较简单,一个是订单服务,一个是账单服务。完成订 ......
aspnetcore 实例 模式

结构型-装饰器模式

定义 如果希望动态给某个类添加一些属性或者方法,但是你又不希望这个类派生的对象受到影响,那么装饰器模式就可以给你带来这样的体验。 它的定义就是在不改变原对象的基础上,通过对其进行包装拓展,使得原有对象可以动态具有更多功能,从而满足用户的更复杂需求。 举个例子,一部手机,你可以买各种花里胡哨的手机壳等 ......
结构型 结构 模式

统一授权认证架构设计及实现

统一鉴权认证是一个基础服务。它几乎在所有企业内部都需要,企业内部只要有两个以上系统存在,就有必要实现一套统一的授权系统,否则用户使用非常地麻烦,需要在不同系统之间来回登录切换。特别是在微服务大行其道的今天,这个统一授权认证服务更是一个基础和关键入口。实现的方案有很多种,但都大同小异。 本文主要介绍授 ......
架构

fpm模式下读取到is_cli为何为true

php-fpm下读取到is_cli为true,不知道你们是否遇到过,我是遇到了。。。。 有人会说,即使为true又怎么了,你是没遇到有些根据is_cli来走不同逻辑判断的,如果读取的是错的就会引起很大的问题。。。。 ......
模式 is_cli true fpm cli

深度解析单例模式

饥汉模式 package com.cz.single; /** * @author 卓亦苇 * @version 1.0 * 2023/3/11 21:31 */ public class Hungry { private byte[] data1 = new byte[1024]; private ......
深度 模式

设计一款可扩展和基于windows系统的一键处理表格小工具思路

原创总结/朱季谦 设计一款可扩展和基于windows系统的一键处理表格小工具思路 日常开发当中,业务人员经常会遇到一些重复性整理表格的事情,这时候,就可以通过一些方式进行自动化程序处理,提高工作(摸鱼)效率。 例如,业务人员有这样需要,日常需要手工整理以下原始xlsx表格数据,这些数据格式都是固定死 ......
表格 思路 windows 工具 系统

Flink模式

Per-job Cluster 该模式下,一个作业一个集群,作业之间相互隔离。 在Per-Job模式下,集群管理器框架用于为每个提交的Job启动一个 Flink 集群。Job完成后,集群将关闭,所有残留的资源也将被清除。 此模式可以更好地隔离资源,因为行为异常的Job不会影响任何其他Job。另外,由 ......
模式 Flink

大道至简的架构设计思想之:封装(C系架构设计法,sishuok)

一起来看看大道至简的一些基本设计思想,首先我们来看一下什么是封装。 封装:也叫做信息隐藏,或者数据访问保护。放到程序上来讲,就是隐藏类的属性,还有实现细节,仅对外公开一些接口。那么外部,就只能通过这个类暴露的这些访问接口,按照这个类提供的方式来访问类的内部信息或者数据。这样子的一种情况就叫做封装。 ......
架构 设计思想 大道 sishuok 思想

深入理解需求分析的目标(C系架构设计法)

需求分析的目标:是尽可能准确、全面、深入的理解业务。 1:理解“尽可能准确” 首先,需求分析,要做的事,肯定是去理解业务,但是要达到什么样的程度,才算是我们理解了这个业务呢? 第一个是“尽可能”,尽可能的意思,就是你不太可能百分之百的、完整的、准确的去理解,做不到。我们只能说是尽自己最大努力去理解, ......
架构 需求 目标