网站里的图片是怎么做的,公共资源交易平台官网,展示型网站设计案例,黑龙江省城乡建设厅网站# 概念
软件单一原则#xff08;Single Responsibility Principle#xff0c;SRP#xff09;是面向对象编程中五大基本设计原则之一。它指每个软件模块或类都应该只负责一个单一的功能或责任。 高内聚低耦合 实现代码可维护性 干湿分离是一种建筑设计和室内装修的方法,主… # 概念
软件单一原则Single Responsibility PrincipleSRP是面向对象编程中五大基本设计原则之一。它指每个软件模块或类都应该只负责一个单一的功能或责任。 高内聚低耦合 实现代码可维护性 干湿分离是一种建筑设计和室内装修的方法,主要目的是将干区和湿区进行物理隔离,以提高空间利用率和使用效率。 提高空间利用率 改善使用体验 便于管理和维护 增强安全性 看似两个不相干的主题但是从工程角度是如此的相似相通单一原则在实践过程中容易走样 懒懒拆分 懒抽象 怕没有“继承”没人知道背景不敢动不敢抽象 差不具备这样的能力 # 详细
在工程界有样板间(Pattern), 脚手架(Scaffold)辅助即使复杂如上海中心这样的工程终是普通的水泥工垒砌起来。
在软件架构中以设计范式(pattern)为道以实践工具为术可以大大减缓软件架构的腐败降低在软件架构演进过程熵值扩散。
所以软件架构里面的干湿分离 其实直接在代码目录隔离(参考早期大家习惯把后缀 IT的测试类标志为集成测试) 这也算遵循扩展标准其实很早也在行业内实践了如rails/grails 里面的COC: Convention over Configuration \ Clean Code :-) , 所以你可以看到些 “main” 之外目录 wire: 协议目录 stub: 服务端代码 trait: 数据库操作辅助代码 ... 凡事都有事前事中事后基本三个切入点进行控制 来自archguard 给了很好的解释摘自archguard 核心理念三态模型 双环守护 设计态目标架构。通过 DSL领域特定语言 架构工作台来构建 。 开发态实现架构。关注于可视化 自定义分析 架构治理。 运行态运行架构。结合 APM 工具构建完整的分析链。 https://archguard.org/ 最终达到 天人合一: Arch ⇋ Code ⇋ Document # ApiHug 思路 设计态DSL 定义(目录包结构值对象领域对象枚举错误...) 可视化 开发态 基于成熟企业开发编译 Lint, 服务编织(静态分析) 可视化 运行态APM, Bootstrap 校验, Actuator # 预告 1.0.0 SDK 预备发布 一键迁移老项目 Domain Knowledge AI 集成 ... API 设计工具千万家,ApiHug才是真的爱大家 不玩心跳、擦边只有实打实的爱
⛔ 不是更强的 postman、jmeter, xxxx ApiHug 提供API 设计到实现的新范式!
ApiHug 准则 设计先行 Design First 协议驱动Specification Driven ️ 单一信任源: Single Source of Truth ❤️ 开发同理心: Development Empathy ApiHug: 无服务: 一切尽在本地 或者您的内部 Repository 无强依赖: 遵循行业最佳、最成熟实践、可插拔 无隐藏一切尽公开透明 设计先行
通过统一的API 设计元语(DSL, domain specific language), 让API 设计更语言化Describe)实现高度的一致化和高复用。 协议驱动
OAS (OpenAPI specification), 是 ApiHug世界的 金科玉律, 严格保证定义 ↔ 实现之间同构(isomorphism)态射。 ️单一信任源
实现 API 从蓝图→施工→测试→落地不走样 不变形不改味。极致沟通效率和极低信任成本。 ❤️ 开发同理心
置身于多种角色,感同身受在快和慢现在和将来,个体和团队上综合平衡极具同理心是ApiHug 人文基础她不仅仅是一段代码一个工具一种方式。 We Build What We Love Love What We Built https://apihug.com/docs/start/what-is-apihug 开启愉快开发之旅https://apihug.com/docs/start
00. 预安装 JDK 17 OpenJDK or Oracle Gradle 8 IDEA 2022 ApiHug - API design Copilot IDEA plugin 市场
01. 插件安装 File Settings Plugin Search ApiHug Install Restart 02. Project Wizard
ApiHug - API design Copilot 提供了一个非常友好的项目启动模板按照步骤一路点下来就可以。
01- 开始ApiHug项目 File New - Project ApiHug 02-项目设置 Project settings package name description SDK Settings version DB Vendor Cache Port 03-Spring 设置
标准Spring 配置和 starter.spring.io 一样: 选择类型 选择你需要的模块比如 Spring Web 最后 点击 Create - Open Project 就可以打开项目啦
04-开启项目
跟着IDEA的引导: 以 Gradle 方式加载项目, 如果没有检查通知Notification栏目,可能你隐藏了; 两个模块 demo-app-proto demo-app 应该被gradle自动识别出来。 04.1-Wire 打开 README.md 0. Build All 找到那段脚本贴到控制台上 Terminal 回车 Enter 执行 检查模块 demo-app-proto 目录 main wire 里面内容和更新 04.2-Stub 打开 README.md 2. Build Stub (Individual) 同理找到那段命令行贴到控制台 Terminal 按回车 Enter 执行 检查模块 demo-app 目录 main stub 里内容和更新: 04.3-Boot 打开 README.md 3. Run Application 找到对于命令贴到 Terminal 回车 Enter 执行 检查命令行输出 Log demo-app ----------------------------------------------------------
Application demo-app is running! Access URLs:
Local http://localhost:18089/External http://192.168.0.115:18089/OAS http://192.168.0.115:18089/v3/api-docsActuator http://192.168.0.115:18089/managementApi-Errors http://192.168.0.115:18089/hope/meta/errorsApi-Dictionaries http://192.168.0.115:18089/hope/meta/dictionariesApi-Authorities http://192.168.0.115:18089/hope/meta/authoritiesProfile(s) dev
04.4-查看 OAS 从控制台命令行上找到对应的URL 在浏览器(Chrome)输出查看即可 ApiHug 工具栏
ApiHug 工具栏(Tool Window) 默认停靠在您的IDEA右侧栏, 当然您也可通过上面菜单调出 : ApiHug ApiHug Designer : 恭喜! 开启您愉悦的开发之旅吧!