为何说工厂模式在制造业中如此普遍?

2026-05-23 05:110阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计6182个文字,预计阅读时间需要25分钟。

设计模式都是用来解决软件设计中的复杂性问题,追求设计上的稳定性。工厂模式属于创建者模式之一,用于解决对象创建的复杂性。100%的面试者都会问及哪些设计模式,至少99%都会提到设计模式。

任何设计模式都是用来解决软件设计的复杂性问题,追求设计上的稳定性。工厂模式属于创建者模式之一,用来解决对象创建的复杂性。

问 100 个面试者会哪些设计模式,至少 99 个都会提工厂模式。这说明工厂模式确实是一般开发人员最常遇到的设计模式之一,另外也说明它是最直观最容易理解的设计模式之一(无论是从概念上还是实现上)。

不过,如果继续往下追问,比如工厂模式用来解决什么痛点?怎么解决的?它有什么缺点?什么时候不该用工厂模式?并非每个人都能说得明白的。


软件设计的复杂性

软件的本质是人类通过指令指导机器来处理人类世界的事务,因而人类世界的复杂性必然会反映到软件上。

高中物理告诉我们,运动是绝对的,静止是相对的,“唯一不变的就是变化本身”。正是事物的运动(动态性)造成了复杂性——用更容易听得懂的话讲叫“未来的不确定性”。需求总是无休止地改变,没有哪个软件是一成不变的。

运动的自然结果是熵增——就好像你家客厅总是越来越乱一样,随着时间的推移,软件系统不可避免地逐渐趋向混乱:随着旧逻辑的变动和新逻辑的增加(以及既有 bug 的“修复”),系统逻辑越来越复杂且难以理解,bug 越来越多,修改功能越来越困难。

人们一个直观但错误的认知是:通过修复 bug 能逐渐减少系统的 bug,最终将 bug 归零——除非该系统自发布后不用做任何迭代,否则无论你键盘敲多快都赶不上 bug 的增长速度(这一点在上层业务系统中表现得尤为明显)。

程序员们应对软件系统熵增的手段主要是重构和使用设计模式

阅读全文

本文共计6182个文字,预计阅读时间需要25分钟。

设计模式都是用来解决软件设计中的复杂性问题,追求设计上的稳定性。工厂模式属于创建者模式之一,用于解决对象创建的复杂性。100%的面试者都会问及哪些设计模式,至少99%都会提到设计模式。

任何设计模式都是用来解决软件设计的复杂性问题,追求设计上的稳定性。工厂模式属于创建者模式之一,用来解决对象创建的复杂性。

问 100 个面试者会哪些设计模式,至少 99 个都会提工厂模式。这说明工厂模式确实是一般开发人员最常遇到的设计模式之一,另外也说明它是最直观最容易理解的设计模式之一(无论是从概念上还是实现上)。

不过,如果继续往下追问,比如工厂模式用来解决什么痛点?怎么解决的?它有什么缺点?什么时候不该用工厂模式?并非每个人都能说得明白的。


软件设计的复杂性

软件的本质是人类通过指令指导机器来处理人类世界的事务,因而人类世界的复杂性必然会反映到软件上。

高中物理告诉我们,运动是绝对的,静止是相对的,“唯一不变的就是变化本身”。正是事物的运动(动态性)造成了复杂性——用更容易听得懂的话讲叫“未来的不确定性”。需求总是无休止地改变,没有哪个软件是一成不变的。

运动的自然结果是熵增——就好像你家客厅总是越来越乱一样,随着时间的推移,软件系统不可避免地逐渐趋向混乱:随着旧逻辑的变动和新逻辑的增加(以及既有 bug 的“修复”),系统逻辑越来越复杂且难以理解,bug 越来越多,修改功能越来越困难。

人们一个直观但错误的认知是:通过修复 bug 能逐渐减少系统的 bug,最终将 bug 归零——除非该系统自发布后不用做任何迭代,否则无论你键盘敲多快都赶不上 bug 的增长速度(这一点在上层业务系统中表现得尤为明显)。

程序员们应对软件系统熵增的手段主要是重构和使用设计模式

阅读全文