
C++设计模式
文章平均质量分 82
飞翔的小七
对图像处理,电子设计,虚拟仿真,工业控制,均感兴趣
展开
-
创建型模式(Creational Patterns)之工厂模式(Factory Pattern)之工厂方法模式(Factory Method Pattern)
相反,如果使用 工厂方法模式,每个产品类型都有一个对应的工厂类来创建,工厂方法 可以独立进行扩展,每个工厂类只需要关心自己负责的产品类型,代码更加清晰和易于维护。例如,在一个图形绘制软件中,可以使用 工厂方法模式 来创建不同类型的图形对象,如圆形、矩形、三角形等,每个图形都有一个对应的工厂类来创建。如果使用 简单工厂模式,我们需要一个工厂类来创建所有不同类型的电子产品,客户端代码需要指定电子产品类型,工厂类根据类型来创建相应的产品对象。但是,随着产品类型的增加,工厂类的代码会越来越复杂,难以维护和扩展。原创 2024-08-05 18:44:18 · 537 阅读 · 0 评论 -
创建型模式(Creational Patterns)之工厂模式(Factory Pattern)之简单工厂模式(Simple Factory Pattern)
被创建的对象称为“产品”,创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”。是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。是简单工厂模式的核心,负责实现创建所有实例的内部逻辑。工厂类的-建产品类的方法可以被外界直接调用,创建所需的产品对象。简单工厂模式不在 GoF 23 种设计模式之列。是简单工厂创建的所有对象的父类,负责描述所有实例共有的公共接口。请注意,简单工厂模式可能会因为工厂类中的。是简单工厂模式的创建目标。原创 2024-08-05 18:20:14 · 529 阅读 · 0 评论 -
C++面向对象设计原则
如果有了新的需求,需要当前模块支持MP5,那么当前模块的内部文件需要实现CMP5,但是其他模块不需要修改,只要在调用工厂类的MakeObj接口时,传入strType 为“MP5”就可以了。面向修改关闭:部分资料存在对读者的误导,软件设计不应该是不允许修改,而是良好的设计不需要修改对外接口,这样就将修改范围关闭在当前模块内,不会波及其他模块。使用多个小的专门的接口,而不要使用一个大的总接口。接口应该是内聚的,一个类对另外一个类的依赖应该建立在最小的接口上,不要强迫依赖不用的方法,造成接口污染。原创 2024-07-29 19:04:31 · 1010 阅读 · 0 评论