当前位置: 首页 > news >正文

网站建设 业务培训营销策略制定

网站建设 业务培训,营销策略制定,南充市房产网,wordpress 视频 主题文章目录 项目地址一、开放封闭原则1.1 不好的版本1.2 将BankProcess的实现改为接口1.3 修改BankStuff类和IBankClient类二、依赖倒置原则2.1 高层不应该依赖于低层模块2.1.1 不好的例子2.1.2 修改:将各个国家的歌曲抽象2.2 抽象不应该依于细节2.2.1 不同的人开不同的车(接口…

文章目录

  • 项目地址
  • 一、开放封闭原则
    • 1.1 不好的版本
    • 1.2 将BankProcess的实现改为接口
    • 1.3 修改BankStuff类和IBankClient类
  • 二、依赖倒置原则
    • 2.1 高层不应该依赖于低层模块
      • 2.1.1 不好的例子
      • 2.1.2 修改:将各个国家的歌曲抽象
    • 2.2 抽象不应该依于细节
      • 2.2.1 不同的人开不同的车(接口注入)
      • 2.2.2 构造函数注入
  • 三、接口分离原则
  • 四、The least knowledge principle
  • 五、Composite Reuse Principel 合成复用原则
    • 5.1 什么时候使用继承,什么时候使用复合原则
    • 5.2 类于类之间的关系
  • 六、简单工厂模式
    • 6.1 不好的例子
    • 6.2 使用简单工厂模式
  • 七、工厂方法设计模式


项目地址

  • 教程作者:老赵Net
  • 教程地址:
https://www.bilibili.com/video/BV1Xv4y1T7by?spm_id_from=333.788.videopod.episodes&vd_source=791e6deaa9c8a56b1f845a0bc1431b71&p=5
  • 代码仓库地址:
  • 所用到的框架和插件:
C#

一、开放封闭原则

  • 业务描述,不用需求得用户去银行办理不用的业务
  • 分析业务:①该业务需要多少个对象?②每个对象的属性和行为是什么
  • 确定对象:①用户对象,属性(存钱用户,取钱用户);②银行柜员,帮助用户处理不同的需求;③银行业务系统:处理存钱,取钱,转账的操作

1.1 不好的版本

public class Program
{public static void Main(){BankUsers bankUsers = new BankUsers();bankUsers.BankTpe = "存钱";BankStuff bankStuff = new BankStuff();bankStuff.HandleBandProcess(bankUsers); }
}public class BankUsers
{public string BankTpe { get; set; }
}public class BankStuff
{//实例化一个BankProcess对象用来处理银行业务private BankProcess bankProcess = new BankProcess();public void HandleBandProcess(BankUsers bankUsers){switch (bankUsers.BankTpe){case "存钱":bankProcess.SaveMoney();break;case "取钱":bankProcess.GetMoney();break;case "转账":bankProcess.Transfer();break;default:break;}}
}public class BankProcess
{public void SaveMoney(){Console.WriteLine("处理用户存钱");}public void GetMoney(){Console.WriteLine("处理用户取钱");}public void Transfer(){Console.WriteLine("处理用户转账");}
}
  • 问题:
    1. BankProcess不符合单一职责原则,修改三个方法的时候,都会影响这个类
    2. 在BankStuff里全是case,如果代码里全是case,肯定不符合设计模式

1.2 将BankProcess的实现改为接口

  1. 如何判断一个类设计的好坏就是:当你要修改类里面重要的方法的时候,不会影响到方法的执行!例如:我们对BankProcess里的取钱方法进行修改时候,整个BankProcess类是没办法使用的,只能当我们把全部功能改好了之后,这个类才能使用;
  2. 就类似于修路,路的主要功能有人行道和车行道路,我们在修人行道的时候,不能影响到车行道的车辆通行,才是一个好类的设计思想。
public class Program
{public static void Main(){BankUsers bankUsers = new BankUsers();bankUsers.BankTpe = "存钱";BankStuff bankStuff = new BankStuff();bankStuff.HandleBandProcess(bankUsers);}
}public class BankUsers
{public string BankTpe { get; set; }
}public class BankStuff
{//传入接口private IBankProcess _bankProcess;public void HandleBandProcess(BankUsers bankUsers){switch (bankUsers.BankTpe){case "存钱":_bankProcess = new SaveMoney();_bankProcess.ProcessMoney();break;case "取钱":_bankProcess = new GetMoney();_bankProcess.ProcessMoney();break;case "转账":_bankProcess = new Transfer();_bankProcess.ProcessMoney();break;default:break;}}
}public interface IBankProcess
{void ProcessMoney();
}public class SaveMoney : IBankProcess
{public void ProcessMoney(){Console.WriteLine("处理用户存钱");}
}public class GetMoney : IBankProcess
{public void ProcessMoney(){Console.WriteLine("处理用户取钱");}
}public class Transfer : IBankProcess
{public void ProcessMoney(){Console.WriteLine("处理用户转账");}
}

改进的好处:BankProcess提取成为接口,这样修改存钱,取钱的方式时候,不会影响到存款取款的功能

1.3 修改BankStuff类和IBankClient类

  1. 用过抽象或者接口,对变化进行封装;
  2. 这里经常发生变化的就是传入的用户类型;所以,创建了一个IBan
http://www.yayakq.cn/news/946120/

相关文章:

  • ui最好的网站软件商店安装最新版下载
  • 主视觉设计网站wordpress vip 插件下载
  • 水利建筑工程网站从什么网站找做app的代码
  • 网站建设后台管理便捷遵义网站制作
  • 网站建设和维护一年的费用如何建设合法的网站
  • 政务移动门户网站建设园区二学一做网站
  • 如何鉴定网站做的好坏wordpress百度cdn
  • 北京朝阳区房价2022最新价格网络推广与seo的区别在哪里
  • 浙江省火电建设公司网站html5建设网站
  • 跨境电商工具类产品的网站wordpress更改域名 后台
  • 毕业设计做网站 答辩会问什么问题织梦网站新闻列表调用
  • 网站导航栏设计代码网站模板的使用
  • 网站建设的种类网站制作价格推 荐
  • 九龙坡区建设二校的网站一键优化大师下载
  • 导航门户网站怎么做郯城建设局网站
  • 做软件的声称发现网站漏洞做营销型网站需要注意哪些点
  • localhost怎么做网站wordpress文章设置到导航栏
  • 郴州网站建设流程简体中文wordpress5.2下载
  • 网络营销推广方案公司杭州百度推广优化排名
  • 抽奖网站怎么做哪里有做php网站免费教程
  • 怎样做一个公司网站赣榆区住房和城乡建设局网站
  • 南昌网站建设冲浪者广州建设网站开发
  • 苏州有哪些做网站该网站想要跳转百度app
  • 网站页面设计要求全网响应式网站
  • 能不能模仿百度一样做搜索引擎网站成都html5网站设计
  • 厦门 网站建设闽icp如何创建网站的详细步骤
  • 备案网站管理系统互联网保险有哪些
  • 网站制作怎么做语音搜索框做泵阀到哪个网站好
  • 河津做网站深圳网站推广活动方案
  • 海口网站建设的开发方案平台公司名称