设计模式
文章平均质量分 90
砥砺前行~
承接Qt/C++软件开发项目,高质量交付,灵活沟通,长期维护支持。需求所寻,技术正适,共创完美,欢迎私信联系!
展开
-
设计模式-命令模式(Command Pattern)
命令模式(Command Pattern)是一种行为设计模式,它允许将请求封装成对象,从而使得可以将请求参数化、队列化、并且可以用不同的请求来参数化客户端(调用者)的对象。这使得系统中的对象不需要知道彼此的细节,降低了对象之间的耦合度,提高了系统的灵活性。在数据库操作中,命令模式可以用于实现事务处理,每个数据库操作可以被封装成一个命令对象,事务的提交或回滚可以看作是对一系列命令对象的执行或撤销。由于命令模式需要将请求封装成对象,可能会导致额外的性能开销,特别是在系统需要频繁创建和销毁命令对象的情况下。原创 2024-02-27 11:36:35 · 1096 阅读 · 0 评论 -
设计模式-建造者模式(Builder Pattern)
建造者模式可以用于创建食品套餐的建造器,每个具体建造者负责构建不同套餐的各个部件,而指挥者负责组装套餐的各个部件,最终生成用户所需的套餐对象。建造者模式可以用于创建文档的建造器,每个具体建造者负责构建不同类型的文档,而指挥者负责组装文档的各个部件,最终生成所需的文档对象。建造者模式可以用于创建角色的建造器,每个具体建造者负责构建不同类型的角色,而指挥者负责组装角色的各个部件,最终创建出完整的角色对象。建造者模式将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示,提高了系统的灵活性。原创 2024-02-19 17:04:26 · 992 阅读 · 0 评论 -
设计模式-观察者模式(Observer Pattern)
观察者模式(Observer Pattern)是一种行为型设计模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,当主题对象状态发生变化时,它会通知所有的观察者对象,使它们能够自动更新自己。当有新的消息或事件发生时,系统会通知所有订阅了该消息或事件的用户。:添加新的观察者类不需要修改主题类的代码,只需要注册新的观察者即可,这样可以避免对现有代码的修改,降低了系统的耦合度。:观察者模式支持一对多的通信机制,当主题对象的状态发生改变时,可以通知所有注册的观察者对象,从而实现广播通信。原创 2024-02-19 16:14:18 · 944 阅读 · 0 评论 -
设计模式-单例模式(Singleton Pattern)
应用程序的配置信息通常存储在一个文件中,如XML文件或者.properties文件,读取配置文件是一个开销较大的系统操作,应用程序通常在启动的时候就把配置文件读入内存。单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。在多线程环境下,如果使用懒加载方式创建单例对象,并且没有考虑线程安全性,可能会导致多个线程同时创建多个实例,从而违背了单例模式的初衷。这样可以确保数据的一致性,例如,所有的请求都通过同一个缓存实例来查询数据,可以确保所有的查询得到的都是同样的结果。原创 2024-02-19 15:00:17 · 1053 阅读 · 1 评论 -
设计模式-工厂模式(Factory Pattern)
工厂模式类型优点缺点适用场景简单工厂模式- 实现简单易懂- 将对象创建和使用解耦- 违反开闭原则- 工厂类集中了所有产品的创建逻辑- 产品较少- 产品不经常变化工厂方法模式- 符合开闭原则- 延迟对象的创建- 增加灵活性- 每次新增产品都需要编写一个具体工厂类- 产品具有相同接口- 创建逻辑相对复杂的情况抽象工厂模式- 将对象创建和使用解耦- 符合开闭原则- 新增产品族比较困难- 需要修改抽象工厂接口及实现类- 创建一系列相关产品对象- 保证产品族一致性。原创 2024-02-19 14:20:16 · 1216 阅读 · 1 评论