设计模式之选项模式(C#+Go版)
简介
最近,我在学习和研究Go语言的时候突然发现了一个选项模式,为什么说是突然发现,因为我看的两本关于设计模式的书籍,都没有提及过选项模式(也可能是我孤陋寡闻🤔),所以,我研究了一下,并决定写一篇博客跟大家分享一下。
代码的坏味道
顾名思义,选项模式,就是为了更好地配置选项而产生的,我们先来看看普通的代码,如何来配置一个选项类的。
我们先定一个Option类,用来表示选项。
public class Option
{
public string Op1 {
get; set; }
public string Op2 {
get; set; }
public int Op3 {
get; set; }
public int Op4 {
get; set; }
}
这里就简单定义几个属性,两个string类型的,两个int类型的。接着,我们看一下,普通方法如何去构造一个Option。
public static Option CreateOption(string op1, string op2, int op3, int op4)
{
Option opt = new Option();
opt.Op1 = op1;
opt.Op2 = op2;
opt.Op3 = op3;
opt.Op4 = op4;
return opt;