首页 > 其他分享 >2023.12.6日报

2023.12.6日报

时间:2023-12-06 18:47:31浏览次数:36  
标签:应该 原则 日报 2023.12 一个 子类 加油 Car

今天主要学习了设计模式的七大原则 以下内容都为自己学习完后的总结和盲敲,也是测试一下自己到底记住了多少 首先是单一职责原则,指的是某一个类的功能应该专一,而不应该多而杂 什么意思呢,例如我们写一个javaweb,应该分不同的功能类,各司其职,例如有连接数据库的DBUtil、处理数据的Dao,接收数据的Servlet,封装的Bean等 而不应该写一个大类把所有的内容都囊括进去 然后是开闭原则,开闭原则是最重要的,是对拓展开放对修改关闭,指的是如果一个系统要拓展新的功能 它应该通过继承实现新的子类进行添加,而不应该修改原本的代码 然后是里氏替换原则,简单来说就是所有父类对象都应该可以替换成为子类对象,这样其实也是开闭原则的一种实现方式 例如,我们某一个图形页面的按钮是圆形的,我现在希望他变成方形的,那么如何设计呢? 可以在主页面中,定义一个抽象的按钮类,根据里氏替换原则,我们可以把按钮类的各种子类注入到其中,这样也符合开闭原则 然后是依赖倒转原则,它指的是两个类有交集的时候,例如我们定义一个Person类,他需要一个接收的类型,email,这个是具体的类,它不应该和这个类产生关系 而应该定义一个抽象的接受类,让Person实例化这个抽象的接受类,这样即使我们希望修改接收方式不再使用email,也不需要修改Person的代码 然后是接口隔离原则,它指的是一个接口应该实现专一的方法,避免不需要的类实现到不需要的方法 例如有一个Animal类,它定义了一些动物的行为,吃饭睡觉飞行啃骨头等,那么例如一个子类Dog和一个子类Bird,就会出现Dog明明没有飞行这个功能但由于继承关系 不得不获取到,鸟类对啃骨头也同理,这样的情况下就需要把Animal拆分。 然后是合成服用原则,它指的是多用关联少用继承,例如一个Car类拥有一个发电机,可以在Car中实例化一个抽象的engine对象,然后实现,而不是让Car去继承发动机类实现 因为子类算作特殊的父类,根据实际意义,车不可能是特殊的发动机 然后是迪米特法则,它指的是不要和陌生人说话,什么意思呢?例如我们还是一个Car类,它应该只关心它要做的,可以定义一个跑的方法,而例如我现在需要给他实现一个加油的方法 那么Car中需要写一个方法实现加油,这时候就应该用一个加油类,里边实现加油的方法,Car类中只实例化加油类的对象,而不是直接在Car中编写加油方法,当你在Car中实例化了加油的对象 加油类就成为了Car类的朋友,也就满足了迪米特法则 学习时间四小时

标签:应该,原则,日报,2023.12,一个,子类,加油,Car
From: https://www.cnblogs.com/Arkiya/p/17880257.html

相关文章

  • 2023.12.6——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.jfinal明日计划:学习......
  • 过去 100 天,发生了啥?丨 RTE 开发者日报 Vol.100
      开发者朋友们大家好:这里是发布了100期的「RTE开发者日报」,和大家一起看了100天的新闻、聊了100天的八卦。老规矩,我们整理了一下过去100期发表的内容——720则新闻、340个观点、119篇文章以及若干条数据以及活动推荐。我们的小伙伴也将日报中的内容关键词整......
  • 2023.12.5 stl list容器
    3.7.1list基本概念 功能:将数据进行链式存储链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的 链表的组成:链表由一系列结点组成 结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域 STL中的链表......
  • 2023.12.5——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.jfinal明日计划:学习......
  • 2023.12.5日报
    今天继续开发了ERP系统由于我做的是财务部分,分收入支出和工资管理三部分在收入部分我主要制作了对账功能,即,根据支票信息和收付款信息,通过多表联查的方式,显示出所有订单的支付情况这个在前两天已经进行了实现在支出部分,除了供应商的维护账单的管理,主要是做了报销的流程首先是......
  • 百度曾出价 8500 万挖“AI 教父”被拒;GPT-3.5 图灵测试中败给上世纪 AI丨 RTE 开发者
       开发者朋友们大家好:这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • Solution Set 2023.12.5
    [AHOI2009]最小割首先考虑如何处理可行边,对于边\(\left(u,v\right)\),其为可行边与同时满足下列两个条件互为充要条件:\(c_f(u,v)=0\)在\(G_f\)中不存在路径\(u\rightarrowv\)首先可以发现若存在\(G_f\)使得\(c_f(u,v)>0\),那么一定不会割这条边。若\(G_f\)......
  • 云原生周刊:K8s 的 YAML 技巧 | 2023.12.4
    开源项目推荐HelmfileHelmfile是用于部署HelmChart的声明性规范。其功能有:保留图表值文件的目录并维护版本控制中的更改。将CI/CD应用于配置更改。定期同步以避免环境偏差。Docketeer一款Docker和Kubernetes开发人员工具,用于管理容器并可视化集群和容器指标。......
  • 2023.12.4学习笔记(stm32跑马灯实验——库函数)
     STM32f4有七组引脚(GPIOx),每组引脚有16个IO口,每组由十个寄存器控制。   查找STM32引脚的功能,可以在STM32F04ZGT6文件50页左右查询,此文件所在的位置为硬件资料、芯片资料文件夹里。跑马灯实验思路步骤:1:使能时钟,调用函数RCC_AHB1PeriphClockCmd();       ......
  • 2023.12.4——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.jfinal明日计划:学习......