设计一个完整的静态网站个人做网站多少钱

系列综述:
来源:该系列是主要参考《大话设计模式》和《设计模式(可复用面向对象软件的基础)》,其他详细知识点拷验来自于各大平台大佬的博客。
总结:汇总篇
如果对你有用,希望关注·点赞·收藏一波。
文章目录
- 对象行为型模式
 - 策略模式
 
- 以下不是,待更新
 - 工厂方法模式
 - 抽象工厂模式
 
- 参考博客
 
😊点此到文末惊喜↩︎
对象行为型模式
策略模式
- 原则 
变化点是类封装的目标。封装是类划分的前提,类并不是越多越好。类划分的基础是抽象,是具有相同属性和功能的对象的抽象
 - 核心:通过switch选择相似行为的选择
 - 代码原理 
- 业务场景类:在具体的业务逻辑中封装
算法族的多态调用 - 抽象策略类:算法族的抽象接口
 - 具体策略类:算法族中具体的算法实现

 
 - 业务场景类:在具体的业务逻辑中封装
 - 特点: 
- 破坏开闭原则。拓展产品需要修改原工厂内部的逻辑
 - 符合单一职责原则。将对象的
创建逻辑和实现的业务逻辑进行了分离 
 - 示例代码
 
// 抽象策略类
interface AbstarctStrategy{void algorithm();
}
// 具体策略类
class ConcreteStrategy1 implements AbstarctStrategy
{@Overridepublic void algorithm(){System.out.println("具体策略1");}
}
class ConcreteStrategy2 implements AbstarctStrategy
{@Overridepublic void algorithm(){System.out.println("具体策略2");}
}// 业务场景类
class Context
{private AbstarctStrategy strategy;public void setStrategy(AbstarctStrategy strategy){this.strategy = strategy;}// 核心:对于算法的多态调用public void algorithm(){strategy.algorithm();}
}// 调用
Context context = new Context();
context.setStrategy(new ConcreteStrategy1());
context.algorithm();
context.setStrategy(new ConcreteStrategy2());
context.algorithm();
 
以下不是,待更新
工厂方法模式
- 抽象原理 
- 抽象产品基类 :定义了产品的规范,描述了产品的主要特性和功能。
 - 具体产品子类 :实现或者继承抽象产品的子类
 - 工厂基类 :定义类别区分的功能接口
 - 具体工厂子类:具体工厂对应生产具体的产品
 
 - 代码原理: 
- 定义一个用于创建对象的接口,让子类决定实例化哪一个类
 - 使用抽象解除对于具体实例的耦合,将简单工厂模式中
工厂类的分支导致的与对象创建的耦合使用抽象类进行解决

 
 
// 产品类与简单工厂方法相同,工厂方法就是将工厂抽象出来,具体对象由具体对象创建// 工厂方法接口类:根据对象实例化
interface IFactory{Operation CreateOperate();
}// 工厂子类
class OperationAddFactory : IFactory{public Operation CreateOperate(){return new OperationAdd();}
}
class OperationSubFactory : IFactory{public Operation CreateOperate(){return new OperationSub();}
}// 调用
IFactory factory = new OperationXXXFactory();// 实例化工厂对象
Operation oper = factory. CreateOperate();// 使用工厂动态生成对应子类对象赋值给父类
oper.m_Num1 = 1;// 给父 类对象的数据成员进行赋值
oper.m_Num2 = 2;
double result = oper.GetResult();
 
抽象工厂模式
- 抽象原理 
- 抽象工厂基类:担任这个角色的是工厂方法模式的核心,它是与应用系统商业逻辑无关的。
 - 具体工厂类:这个角色直接在客户端的调用下创建产品的实例。这个角色含有选择合适的产品对象的逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关的。
 多个抽象产品基类:担任这个角色的类是工厂方法模式所创建的对象的父类,或它们共同拥有的接口。- 具体产品类:抽象工厂模式所创建的任何产品对象都是某一个具体产品类的实例。这是客户端最终需要的东西,其内部一定充满了应用系统的商业逻辑。
 
 - 特点 
- 满足开闭原则:当增加一个新的产品族时只需增加一个新的具体工厂,不需要修改原代码。
 - 不满足开闭原则:当产品族中需要增加一个新种类的产品时,则所有的工厂类都需要进行修改。
 - 当系统中只存在一个等级结构的产品时,抽象工厂模式将退化到工厂方法模式。

 
 - 代码示例
 
在这里插入代码片
 

🚩点此跳转到首行↩︎
参考博客
- 待定引用
 - 待定引用
 - 待定引用
 - 待定引用
 - 待定引用
 - 待定引用
 - 待定引用
 - 待定引用
 
