V2EX  ›  英汉词典

God Object

Definition / 定义

(软件工程/面向对象设计)“上帝对象”:指一个类/对象承担了过多职责、掌握了系统中大量数据与行为,几乎“无所不知、无所不能”,从而导致代码高度耦合、难以维护与测试的反模式(anti-pattern)。也常被称为“God class”。

Pronunciation / 发音

/ɡɑːd ˈɑːbdʒɛkt/

Examples / 例句

Our app has a god object that handles UI, database calls, and business logic.
我们的应用里有一个“上帝对象”,它同时处理界面、数据库调用和业务逻辑。

As the project grew, the controller became a god object, accumulating responsibilities that should have been split into smaller services and modules.
随着项目变大,这个控制器逐渐变成了“上帝对象”,把本应拆分给更小的服务和模块的职责都堆在了一起。

Etymology / 词源

“God object”由“god(上帝)+ object(对象)”构成,是一种比喻说法:像“上帝”一样全知全能的对象,掌控过多信息与权力。该术语常用于批评设计中职责未分离、边界不清的问题,与面向对象设计原则(如单一职责)相冲突。

Related Words / 相关词

Notable Works / 作品例证

  • Clean Code(Robert C. Martin):讨论“类承担过多职责”等坏味道,与“God object/God class”问题高度相关。
  • Refactoring: Improving the Design of Existing Code(Martin Fowler):在“代码坏味道”与重构策略中常涉及将“过大的类/对象”拆分的思路。
  • Design Patterns: Elements of Reusable Object-Oriented Software(Gamma 等):强调职责分配与对象协作的设计方法,常被用来避免形成“上帝对象”。
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   803 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 11ms · UTC 19:36 · PVG 03:36 · LAX 11:36 · JFK 14:36
♥ Do have faith in what you're doing.