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

苏州培训网站建设怎么恢复wordpress设定值

苏州培训网站建设,怎么恢复wordpress设定值,医院网站建设方案大全,清河网站建设电话golang 架构设计原则 依赖倒置原则缘起最近复习设计模式拜读谭勇德的该书以java语言演绎了常见设计模式本系列笔记拟采用golang练习之依赖倒置原则依赖倒置原则(Dependence Inversion Principle, DIP)指设计代码结构时#xff0c;高层模块不应该依赖底层模块#xff…golang 架构设计原则 依赖倒置原则缘起最近复习设计模式拜读谭勇德的该书以java语言演绎了常见设计模式本系列笔记拟采用golang练习之依赖倒置原则依赖倒置原则(Dependence Inversion Principle, DIP)指设计代码结构时高层模块不应该依赖底层模块二者都应该依赖其抽象。抽象不应该依赖细节细节应该依赖抽象。常见的依赖注入方式有: 方法参数注入, 构造器参数注入, setter方法注入_场景线上学校有一系列课程用户可选择若干门课程进行学习如果把学习课程的过程直接实现为用户的方法, 则每增加一门课程, 就需要增加一个学习方法根据依赖倒置原则, 可以把学习过程抽象为学习接口, 由不同的课程实例各自实现BadUser.goBadUser以不同方法实现各种课程的学习过程, 课程的增加导致BadUser代码越来越臃肿package dependence_inversionimport fmttype BadUser struct {iID intsName string}func NewBadUser(id int, name string) *BadUser {return BadUser{iID: id,sName: name,}}func (me *BadUser) StudyJavaCourse() {fmt.Printf(%v is learning %v\n, me.sName, java)}func (me *BadUser) StudyGolangCourse() {fmt.Printf(%v is learning %v\n, me.sName, golang)}GoodUser.goGoodUser通过实现IUser接口提供用户基本信息, 并把不同课程的学习过程, 委托给ICourse接口去实现package dependence_inversiontype IUser interface {ID() intName() stringStudy(ICourse)}type GoodUser struct {iID intsName string}func NewGoodUser(id int, name string) IUser {return GoodUser{iID: id,sName: name,}}func (me *GoodUser) ID() int {return me.iID}func (me *GoodUser) Name() string {return me.sName}func (me *GoodUser) Study(course ICourse) {course.SetUser(me)course.Study()}GolangCourse.go通过setter方法注入IUser, ICourse接口封装了具体课程的学习过程package dependence_inversionimport fmttype ICourse interface {ID() intName() stringSetUser(IUser)Study()}type GolangCourse struct {iID intsName stringxCurrentUser IUser}func NewGolangCourse() ICourse {return GolangCourse{iID: 11,sName: golang,xCurrentUser: nil,}}func (me *GolangCourse) ID() int {return me.iID}func (me *GolangCourse) Name() string {return me.sName}func (me *GolangCourse) SetUser(user IUser) {me.xCurrentUser user}func (me *GolangCourse) Study() {fmt.Printf(%v is learning %v\n, me.xCurrentUser.Name(), me.Name())}dependence_inversion_test.go测试用例package mainimport testingimport (dip learning/gooop/principles/dependence_inversion)func TestDIP(t *testing.T) {bu : dip.NewBadUser(1, Tom)bu.StudyGolangCourse()gu : dip.NewGoodUser(2, Mike)gu.Study(dip.NewGolangCourse())}测试输出$ go test -v main/dependence_inversion_test.go RUN TestDIPTom is learning golangMike is learning golang--- PASS: TestDIP (0.00s)PASSok command-line-arguments 0.002s有疑问加站长微信联系(非本文作者)
http://www.zqtcl.cn/news/93640/

相关文章:

  • 外贸公司网站空间哈尔滨seo优化专注
  • 建筑行业综合查询平台优化推广联盟
  • 北京管庄网站建设公司开平网站制作
  • 如何做销售直播网站最专业网站建设
  • 太原市住房和城乡建设局的网站首页网络推广服务外包公司
  • 湘icp备 网站建设 农业 湖南稿定设计免费版
  • 公司网站推广方法陕西省住房建设厅官网
  • 网站关键词排名突然没了无锡企业网站建设报价
  • 找做网站的人网站改版 301跳转
  • 网站备案一次就可以了吧营销管理培训课程
  • 怎么做网站背景专做民宿预定的网站
  • wordpress安装谷歌分析代码建网站seo
  • 百度外卖网站建设与维护方法建设 银行网网站
  • 小程序开发定制开发上海优化价格
  • 来宾住房和城乡建设局网站做外贸推广要做哪些平台
  • 无锡建设网站制作wordpress 知乎
  • 动漫网站源码免费怎么怎么做网站
  • 和两个黑人同时做网站中工互联网站建设
  • windows10PHP 网站建设app应用分发平台开发
  • 中唯建设工程有限公司网站做网站页面对PS切图
  • 个人网页制作成品欣赏seo网站沙盒期
  • 亚马逊站外推广网站怎么做制作营销网站模板免费下载
  • 加拿大网站后缀设计师互联网
  • 做物流的网站有哪些内容共同建设网站心得
  • 主题资源网站建设什么网站做污水处理药剂的好
  • 河北建设厅网站修改密码在哪58同城宿迁二手房
  • 淘宝联盟的购物网站怎么做免费网站模板素材
  • 淄博市网站云平台长沙seo 优化选智投未来no1
  • 手机网站导航模板wordpress子域名设置
  • 济南市网站推广公司甘肃网站建设方案优化