@xianaldaiJava开发教程28-抽象工厂模式 中发帖

本期是Java开发教程系列的第二十八期,设计模式专题第二期,讲抽象工厂模式:工厂方法管"一种产品的制造",它管"一整套产品的成套交付".适合"产品一族必须搭配着用"的场景,比如 UI 主题:一套主题的按钮、输入框、背景色要长得协调,不能按钮是深色的、背景是浅色的.若你已经理解抽象工厂与工厂方法的区别,可以跳过本期内容. 
每期叠甲:
时间仓促,水平有限,文中难免存在缺点和错误,恳请广大开发者和从业者指正.

一、新问题:产品开始"成套"出现
上一期的日志系统,产品只有一种(Logger),工厂方法够用.但假设现在做的是 UI 框架,要支持主题换肤:

按钮(Button)
输入框(TextField)
背景色(Background)

关键约束:同一主题的组件必须成套.深色主题的按钮+深色输入框+深色背景,不能深色按钮配浅色输入框,不然界面就花了.
如果用工厂方法(每种产品一个工...