当前位置: 首页 > 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 构造函数注入
  • 三、接口隔离原则


项目地址

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

一、开放封闭原则

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

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);}
}</
http://www.yayakq.cn/news/103019/

相关文章:

  • 宁夏网站建设电话网站title是什么意思
  • 推广普通话黑板报内容seo快速入门教程
  • 富阳网站建设推广网络公司名字怎么取
  • 网站建设登录网站栏目页如何做
  • c2c网站的盈利模式有哪些网站安全防黑联盟
  • 如何组建网站开发团队更新文章时间 wordpress
  • 备案后的域名改网站名给传销做网站什么罪
  • 自助单页网站河间网站制作公司
  • 海南省住房与城乡建设厅网站北京sem网站
  • 购物网站欢迎页面怎么设计wordpress云
  • 电商网站首页模板wordpress是干什么的
  • 桂林手机网站制作软件开发工具图片
  • 佛山有几个区沈阳seo自然优化排名
  • 网站用户建设的设计与实现众安保险网站
  • 不建网站可不可以做cpa电子商务网站建设目标及利益分析
  • 厂房装修东莞网站建设哪个公司做网站比较好
  • 哪个网站可以免费做招牌网站建设 丽水
  • 销售网站的优秀标准.net 获取网站域名
  • 做的比较好的几个宠物网站国外贸易网站
  • 制作网站首页psd苏州网站制作推广
  • 做3d效果图的网站有哪些网络架构方案规划设计和实施
  • 西安哪家公司做的网站好做固定背景网站
  • 网站服务器 试用重庆山艺网站建设
  • 绿色农业网站源码自己做的网站打开太慢
  • 专业足球网站建设云商城是合法的吗
  • 深圳市建设行业门户网站深圳设计公司有多少家
  • 玛沁县网站建设公司海淀区手机网站设计服务6
  • flash网站建设公司网站被挂黑链怎么删除
  • 扬州建设银行网站用vue做网站一般用什么组件库
  • 做网站找谁抖音代运营电销话术