设计模式和设计原则
文章平均质量分 77
设计模式和设计原则
二分掌柜的
二分掌柜的
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式 - Null Object(空对象)模式
flyfish原创 2024-08-16 18:20:51 · 772 阅读 · 0 评论 -
26个设计模式
flyfish原创 2017-07-20 17:46:01 · 1004 阅读 · 1 评论 -
9个软件设计原则
flyfish原创 2024-08-16 18:10:08 · 675 阅读 · 0 评论 -
设计模式 - 命令模式(Command Pattern)
flyfish原创 2017-07-19 14:55:01 · 888 阅读 · 0 评论 -
软件设计原则 KISS、YAGNI、DRY
flyfish原创 2024-08-08 18:31:26 · 1446 阅读 · 0 评论 -
设计模式 - 私有类数据(Private Class Data)模式
私有类数据(Private Class Data)模式是一种结构性设计模式,旨在限制类属性的访问和修改,以增加代码的安全性和可维护性。通过使用此模式,可以保护不需要直接修改的数据,同时为数据提供一种间接的访问方式。原创 2017-09-18 11:44:45 · 1798 阅读 · 0 评论 -
设计模式 - 组合模式(Composite Pattern)
组合模式(Composite Pattern)是一种结构型设计模式,它将对象组织成树形结构,以表示“部分-整体”的层次结构。组合模式使得客户端可以一致地处理单个对象和对象组合。此模式特别适合用于处理树形结构的问题,如文件系统、GUI 组件等。原创 2009-05-30 23:34:00 · 2825 阅读 · 0 评论 -
设计模式- 适配器模式(Adapter Pattern)
适配器模式(Adapter Pattern)是一种结构型设计模式,它允许将一个类的接口转换为客户端所期望的另一个接口。适配器模式使得原本由于接口不兼容而无法一起工作的类可以协同工作。适配器模式常用于已有的类和新的接口不兼容的情况。原创 2016-01-29 11:10:59 · 550 阅读 · 0 评论 -
设计模式 - 模板方法模式(Template Method Pattern)
模板方法模式通过在基类中定义一个算法的框架,并将某些步骤的实现延迟到子类中,从而实现算法的可扩展性和复用性。原创 2016-01-21 17:34:15 · 750 阅读 · 0 评论 -
设计模式 - 代理模式(Proxy Pattern)
代理模式(Proxy Pattern)是一种结构型设计模式,它为其他对象提供了一种代理,以控制对这个对象的访问。代理模式可以用于延迟对象的创建和初始化、控制对对象的访问、在访问对象时添加额外的功能等。原创 2016-02-02 14:00:09 · 604 阅读 · 0 评论 -
设计模式 - 原型模式(Prototype Pattern)
原型模式(Prototype Pattern)flyfishC++实现class Prototype{ Prototype(){} virtual ~Prototype(){} virtual Prototype * Clone() = 0; //实现由基类的派生类完成};class ConcretePrototype : public Prototype{publ原创 2016-01-27 17:12:31 · 714 阅读 · 0 评论 -
设计模式 - 外观模式(Facade Pattern)
外观模式(Facade Pattern)是一种结构型设计模式,其目的是为子系统中的一组接口提供一个统一的接口。外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。原创 2017-07-25 18:56:43 · 438 阅读 · 0 评论 -
设计模式 - 享元模式(Flyweight Pattern)
享元模式的主要目的是通过共享相同或相似的对象,避免创建大量相似的对象,减少内存开销。在需要大量重复对象的应用中,享元模式可以显著提高系统性能。原创 2009-05-30 00:15:00 · 2819 阅读 · 1 评论 -
设计模式 - 对象池模式(Object Pool Pattern)
flyfish原创 2009-05-29 00:20:00 · 3468 阅读 · 1 评论 -
设计模式 状态模式(State Pattern)
状态模式(State Pattern)flyfish#include "stdafx.h"#include class role;class employee{public: virtual void output(role *role_ptr) = 0;};class engineer : public employee{public: virtua原创 2016-08-30 16:18:01 · 663 阅读 · 0 评论 -
建造者模式(Builder Pattern)
建造者模式(Builder Pattern)flyfish 2016-1-22 C++实现class Product{public: void DoSomething(){}};class Builder{public: virtual void SetPart1(){};//处理Product的第一部分 virtual void SetPart2(){};//处原创 2016-01-22 16:13:31 · 766 阅读 · 0 评论 -
工厂方法模式(Factory method pattern)
工厂方法模式(Factory method pattern)flyfish 2015-7-4工厂方法模式正式定义 - 引用《HeadFirst 设计模式》 Define an interface for creating an object,but let subclasses decide which class to instantiate.Factory Method lets a原创 2015-07-04 19:19:26 · 1600 阅读 · 0 评论 -
抽象工厂模式(Abstract Factory Pattern)
抽象工厂模式(Abstract Factory Pattern)flyfish 2016-1-21 本文编程语言采用C+++实现,参考《设计模式之禅》中的Java实现,#pragma once//抽象产品类Aclass AbstractProductA{public: void ShareMethod(); virtual void DoSomething()=0;};原创 2016-01-21 12:00:05 · 738 阅读 · 0 评论 -
设计模式 策略模式(Strategy Pattern) C++表达
策略模式(Strategy Pattern)是一种行为设计模式,它的核心思想是将一系列相关的算法或行为封装到独立的策略类中,并使得这些策略可以相互替换。主要用来定义一系列可互换的算法或行为。它允许在运行时选择和切换这些算法或行为,而不用修改使用它们的代码。策略模式就像给的代码提供了一组不同的工具,每个工具都可以完成相似的工作(例如不同的送货方式)。可以根据需要随时更换这些工具,而不需要修改太多代码。原创 2024-07-29 19:27:44 · 1016 阅读 · 0 评论 -
里氏替换原则(Liskov‘s Substitution Principle)
里氏替换原则(Liskov’s Substitution Principle)flyfish解释 All the time we design a program module and we create some class hierarchies.Then we extend some classes creating some derived classes.We must m原创 2017-07-20 11:53:28 · 2526 阅读 · 0 评论 -
C++中模拟Python的装饰器语法@ 装饰模式
flyfish原创 2024-07-21 23:31:07 · 870 阅读 · 0 评论 -
编程的法则 开闭原则(Open-Closed Principle, OCP)包括代码实践
flyfish原创 2024-07-19 19:23:12 · 609 阅读 · 0 评论 -
设计模式单例模式(singleton pattern)包括 懒汉式(Lazy Initialization)、饿汉式(Eager Initialization)、可以将普通类变成单例类的模版和代码实践
flyfish原创 2024-07-19 19:21:29 · 1558 阅读 · 0 评论 -
设计模式 职责链模式(Chain of Responsibility)包括代码实践
flyfish原创 2024-07-19 19:18:13 · 778 阅读 · 0 评论 -
编程的法则 迪米特法则(Law of Demeter)也称为“最少知识原则(Principle of Least Knowledge)包括如何实践
flyfish原创 2024-07-18 19:48:00 · 1686 阅读 · 1 评论 -
编程的法则 依赖倒置原则 (Dependency Inversion Principle)包括如何实践
flyfish原创 2024-07-18 19:45:44 · 1159 阅读 · 0 评论 -
C++ 里的倒装句 Yoda Notation
Yoda Notationflyfish 2016-2-22《星球大战》里有个 Yoda 大师 他说话是这样子的: Yoda: Bring him here. Question him we will. Yoda: Around the survivors a perimeter create. Yoda: If Dooku escapes, rally more sy原创 2016-02-22 16:13:07 · 1078 阅读 · 0 评论 -
C++ 使用不同的方法优化和替代switch语句
可以使用 状态模式 或者 策略模式.如果用多态 有些多余 优化如下。switch语句的优化。原创 2017-07-10 19:40:10 · 1649 阅读 · 1 评论 -
C++ 桥接模式 (Bridge Pattern)
flyfish原创 2024-07-13 11:45:54 · 1475 阅读 · 0 评论 -
C++ PImpl模式、指向实现的指针、PImpl Idiom、隐藏实现细节
flyfish原创 2024-07-13 10:41:32 · 1245 阅读 · 0 评论 -
接口隔离原则(Interface segregation principle)
接口隔离原则(Interface segregation principle)flyfish一些对接口隔离原则的描述 Clients should not be forced to depend upon interfaces that they don’t use.Client不应该被迫依赖他们不使用的接口 Many client specific interfaces are bett原创 2017-07-19 19:35:17 · 1621 阅读 · 0 评论 -
单一职责原则(Single Responsibility Principle)
单一职责原则(Single Responsibility Principle)flyfish原文地址动机 在此背景中,一个职责是考虑因一个原因而改变,如果一个类,改变它有两个原因。我们应该根据功能性分成两个类。每个类处理一个职责 在未来当我们需要做出某种改变时,只需要修改该类就可以了。当我们去改变一个具有多个职责的类时,这个变动可能会影响该类的相关职责的其他功能单一职责是简单直观的原则,但是在实原创 2017-07-17 12:44:30 · 609 阅读 · 0 评论
分享