codegeex支持通过中文注释一键生成标准设计模式代码:如java双重检查锁单例(含volatile和synchronized)、python观察者模式(含abc抽象基类)、策略模式重构(自动生成接口与上下文)、cli批量生成多语言骨架(java/typescript)。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想在项目中快速落地单例、观察者这类高频设计模式,但又不想从UML图开始画、不熟悉模板类结构、更不愿手动补全notifyAll或双重检查锁的细节——CodeGeeX能直接根据中文描述生成可运行、带注释、符合语言规范的模式实现代码。
用自然语言生成标准单例模式
该方法适合Java/Python等强类型语言项目初始化阶段,避免手写volatile、synchronized时漏掉任意一个关键字导致线程不安全。
第一步:在VS Code中新建Singleton.java文件,顶部输入注释:// language: Java → 换行后写“用双重检查锁实现线程安全的单例模式,提供getInstance()静态方法”。
第二步:将光标置于注释末尾,按Ctrl+Enter触发CodeGeeX补全。注意观察右侧候选列表中是否出现private static volatile Singleton instance;声明——【缺少volatile会导致指令重排序,多线程下可能返回未完全构造的对象】。
第三步:点击含完整构造函数、getInstance方法及synchronized块的候选方案,插入代码。
第四步:在另一文件中调用Singleton.getInstance(),验证编译通过且无警告。
生成观察者模式的完整交互链
当你需要解耦事件发布与响应逻辑,比如订单状态变更通知库存、物流、短信三个模块,CodeGeeX可一次性生成Subject抽象类、Observer接口及具体实现类。
方法一:在Python文件中输入中文注释:“定义观察者模式:Subject类维护观察者列表,支持attach/detach/notify;Observer是抽象基类,含update方法;ConcreteObserver打印接收到的消息。”
方法二:选中上述注释→右键→选择“CodeGeeX: Generate from Comment”,等待生成结果。
生成的代码中会自动包含from abc import ABC, abstractmethod和@abstractmethod装饰器——这一步不可跳过,否则子类不会强制实现update方法。
CodeGeeX 2.21.0是智谱AI推出的AI编程助手版本,对Inline Chat功能进行了重大优化,包括UI设计升级、支持流式输出以提升响应速度,并新增“查看思路”按钮以便理解代码原理。同时,该版本在编辑器中新增CodeLens控件,支持一键“解释”代码或“添加注释”。目前该工具对个人开发者免费开放。
将已有类快速改造为策略模式
适用于已存在一堆if-else判断算法分支的旧代码,想用策略模式替换但不确定如何拆分接口与上下文。
1. 复制含大量条件判断的函数(例如calculateDiscount(price, type))到新文件
2. 选中该函数→按下Alt+T(Windows/Linux)或Alt+Option+T(Mac)启动提示模式
3. 在弹出框中选择预置模板“Refactor to Strategy Pattern”
4. CodeGeeX会生成DiscountStrategy接口、FixedDiscount、PercentageDiscount等实现类,以及DiscountContext上下文类
生成后立刻检查DiscountContext.__init__中是否注入了strategy参数——【若仍用硬编码new实例,就失去策略模式运行时切换能力】
通过CLI批量生成多语言设计模式骨架
当项目需同时交付Java后端与Vue前端,且两端都要实现同一套状态管理逻辑(如发布-订阅),可用CLI统一生成。
执行命令:codegeex generate pattern --name observer --lang java,typescript --with-demo
命令执行后会在当前目录生成/java/observer/和/ts/observer/两个子目录,各自包含完整可运行示例。
进入ts目录,打开demo.ts,确认EventBus类是否包含on、emit、off三个方法——这是前端观察者模式最简可行实现,缺一不可。










