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

做代刷网站赚钱不阿里云备案个人可以做网站吗

做代刷网站赚钱不,阿里云备案个人可以做网站吗,关于做书的网站,邮箱官网登录入口云原生学习路线导航页(持续更新中) 本文是 golang语言系列 文章,主要对编程通用技能 SOLID、YAGNI、KISS等设计原则 进行学习 1.SOLID设计原则 S:SRP,单一职责原则O:OCP,开闭原则L:…

云原生学习路线导航页(持续更新中)

本文是 golang语言系列 文章,主要对编程通用技能 SOLID、YAGNI、KISS等设计原则 进行学习

1.SOLID设计原则

  • S:SRP,单一职责原则
  • O:OCP,开闭原则
  • L:LSP,里氏替换原则
  • I:ISP,接口隔离原则
  • D:DIP,依赖倒转原则

1.1.SRP:单一职责原则(Single Responsibility Principle)

  • 原则思想:一个方法或一个类只负责一件事情
  • 描述:单一职责原则很简单,一个方法 一个类只负责一个职责,各个职责的程序改动,不影响其它程序。
  • 优点:降低类和类的耦合,提高可读性,增加可维护性和可拓展性,降低可变性的风险。
  • 如何判断一个类是否符合单一职责原则,可以从下面一些方面入手:
    • 类中的代码行数,函数或者属性过多
    • 类依赖的其他类过多,或者依赖类的其他类过多
    • 私有方法过多
    • 比较难给一个类起一个合适的名字,起的名字比较笼统,例如:manger类,context类
    • 类中大量的方法都是集中操作某一些属性
  • 当然,类的职责也不是设计的越单一越好,如果拆分的过细的话,实际上会降低内聚性,也会影响代码的可维护性

1.2.OCP:开闭原则(Open Closed Principle)

  • 原则思想:开闭指的是 对外开放,修改关闭,尽量通过扩展软件实体来解决需求变化,而不是通过修改已有的代码来完成变化
  • 描述:一个软件产品在生命周期内,都会发生变化,既然变化是一个既定的事实,我们就应该在设计的时候尽量适应这些变化,以提高项目的稳定性和灵活性。
    • 开闭原则并非是说完全杜绝修改,而是以最小的修改来完成新功能的开发
    • 最常用来提高代码扩展性的方法有:多态、依赖注入、基于接口而非实现编程,以及大部分的设计模式(比如,装饰、策略、模板、职责链、状态)

1.3.LSP:里氏替换原则(Liskov Substitution Principle)

  • 原则思想:使用的基类可以在任何地方使用继承的子类,完美的替换基类。
  • 大概意思是:子类可以扩展父类的功能,但不能改变父类原有的功能。子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法,子类中可以增加自己特有的方法。
  • 优点:增加程序的健壮性,即使增加了子类,原有的子类还可以继续运行,互不影响
  • 里氏替换原则与多态的区别:
    • 虽然定义描述和代码实现有点类似,但是他们的关注点是不一样的
    • 多态是面向对象的一大特性,它是一种代码实现的思路。
    • 而里式替换是一种设计原则,指导继承关系中子类该如何设计

1.4.ISP:接口隔离原则(Interface Segregation Principle)

  • 原则思想:使用多个隔离的接口,比使用单个接口要好。
  • 本质上还是 降低类之间的耦合度 的意思
    • 从这儿我们看出,其实设计模式就是一个软件的设计思想,从大型软件架构出发,为了升级和维护方便。所以各种原则中多次出现:降低依赖,降低耦合。
    • 例如:支付类的接口和订单类的接口,需要把这俩个类别的接口变成俩个隔离的接口

1.5.DIP:依赖倒转原则(Dependency Inversion Principle)

  • 原则思想:尽量面向接口编程,在 传递参数 或 关联关系 中,尽量引用层次更高的抽象层类,而不是某一个具体实现
  • 这个是开放封闭原则的基础,具体内容是:对接口编程,依赖于抽象而不依赖于具体。

2.YAGNI原则

  • YAGNI:You Aint’t Gonna Need It,即你不需要的
  • YAGNI原则就是说:不要设计与开发当前功能用不到的代码,但并不意味着不考虑拓展性,可以预留好拓展点,后面需要时再开发。
  • 举例:目前项目只对国内市场,未来将会面向国内海外同时使用。所以在开发中不需要提前编写海外部分代码,但是在国内海外有差异的逻辑上要预留好拓展点,方便后面对海外逻辑进行补充。

3.KISS原则

  • Keep It Simple And Stupid:保持简单原则
  • KISS原则就是说:尽量保证代码简洁,使用通用技术(大家都用的技术,不要选择偏难怪的技术)、不重复造轮子、不过度优化。

举例:对于某个数值的提取或者匹配判断,使用正则表达式可以使代码行数更少,看似更简单,但其实并不是所有同事都熟悉正则表达式,而且在编写正则规则时易出现bug,所以可以采用通用技术来实现。

4.LOD原则

  • LOD:Law of Demeter,迪米特法则,也叫做最少知道原则
  • 原则思想:一个对象应当对其他对象有尽可能少地了解,简称类间解耦
  • 大概意思就是一个类尽量减少自己对其他对象的依赖,原则是低耦合,高内聚,只有使各个模块之间的耦合尽量的低,才能提高代码的复用率。
  • 优点:低耦合,高内聚。

参考文章:

  • 设计模式–SOLID四大原则,KISS和YAGNI笔记
  • 【设计模式】设计原则-SOLID、DRY、KISS、YAGNI、LOD
http://www.yayakq.cn/news/999453/

相关文章:

  • 营销网站建设是什么重庆网站设计工作室
  • 电子商务的网站建设分析安微网站建设
  • 完整网站开发需要多久商业空间设计师岗位职责
  • 海南网站建设监理国内专业的室内设计网站
  • app制作过程和网站一样吗c2c网站建设
  • 做网站必须要电脑吗网页设计网站怎么放到域名里
  • 哈尔滨建设银行网站首页企业网站代码模板
  • 江苏网站建设优化促销网站怎么做
  • 网站建设的中期报告网站注册账号怎么做
  • 网站如何做搜索功能的wordpress编辑器内容
  • 免费qq刷赞网站推广网站设计制作步骤
  • 做网站推广需要哪些知识江西赣州网站建设
  • 南京网站建设网站设计 雷仁网络台州市椒江建设工程机械厂网站
  • 信息化网站建设有什么用曹鹏wordpress教程 下载
  • 网站安全认证多少钱做网站排行
  • 个人网站怎么建立流程初学php者网站首页怎么做
  • 策勒网站建设网站建设文件夹名字
  • 东台做网站wordpress放在哪
  • 做设计网站的工作内容济南网站建设 首选搜点网络
  • 做网站的第一步是确定主题如何提升网站打开速度
  • 外国网站备案公司核名查询系统
  • 网站建设与优化计入什么科莫wordpress in depth
  • 伦教网站设计盐城专业网站建设哪家好
  • 宝坻手机网站建设vi设计什么意思
  • 出版社网站必须做企业可信认证嘛中国网站建设20强
  • 泉州微信网站建设公司网站开发 合同
  • 微信辅助网站制作自己创建一个app要多少钱
  • 建设网站怎么挣钱查网站服务器地址
  • 网站开发交什么税网站建设实训报告目的
  • 一家专做有机蔬菜的网站php网站怎么做缓存