一、什么是设计原则? 答:如果说设计模式是编写代码的一种套路,那么设计原则就是用来约束我们使用这种套路应该要遵循的规则,只有遵循了这些规则的设计模式编写出来的应用程序才具有更好的扩展性和维护性。作为一个程序员,不应该只站在客户的角度去判定某一程序只要实现了了功能、拥有了漂亮的外观、良好的用户体验,就说这一程序是完美的,除此之外,我们还应该从程序的可扩展性、维护性来判定这一程序是否完美,一个扩展性和维护性差的程序的后期维护和升级成本或许远远超出开发时的成本,这对于程序员个人来说或许事不关己,但对于公司来说却是一个潜在的成本。二、6大设计原则: 1、单一职责原则 2、里氏替换原则
如果这篇文章能够帮到您,请给我一个免费的赞,谢谢QWQ! LSP原则并不难,但是有些地方就会把它说的很啰嗦,如果你对LSP还是感到疑惑,请往下看看。先上代码:publicclassBird{publicvoidfly(){}}publicclassDuckextendsBird{}乍一看,这段代码没啥问题。没错啊,鸭子是鸟,当然鸭子也会飞了!可是我举个反例:鸵鸟不是鸟吗?那鸵鸟会飞吗?明显不会。但鸵鸟也是鸟啊,我如果让我的鸵鸟做鸟的子类,那我按你这么写必须会飞了,这不矛盾了吗?写代码处处全是矛盾,那怎么行。。。所以计算机科学家研究出了一个原则,这就是LSP原则。LSP原则:子类对象在程式中可以
作者介绍Srinath,科学家,软件架构师。ApacheAxis2项目的联合创始人,ApacheSoftware基金会的成员,WSO2流处理器(wso2.com/analytics)的联席架构师。 Srinath通过不懈的努力最终总结出了30条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构师团队或部门。Srinath认为架构师应该扮演的角色是一个引导者,讨论发起者,花草修建者,而不是定义者和构建者。Srinath为了解决团队内部的架构纷争和抉择,制定了以下30条原则,这些原则被成员们广泛认可,也成为了新手架构师的学习途径。 一、基本原则 原则1KISS(Keepit
作者介绍Srinath,科学家,软件架构师。ApacheAxis2项目的联合创始人,ApacheSoftware基金会的成员,WSO2流处理器(wso2.com/analytics)的联席架构师。 Srinath通过不懈的努力最终总结出了30条架构原则,他主张架构师的角色应该由开发团队本身去扮演,而不是专门有个架构师团队或部门。Srinath认为架构师应该扮演的角色是一个引导者,讨论发起者,花草修建者,而不是定义者和构建者。Srinath为了解决团队内部的架构纷争和抉择,制定了以下30条原则,这些原则被成员们广泛认可,也成为了新手架构师的学习途径。 一、基本原则 原则1KISS(Keepit
一 设计原则(SOLID)1. S-单一职责原则(SingleResponsibllityPrinciple)1.1 定义一个类或者模块只负责完成一个职责(或功能),认为“对象应该仅具有一种单一功能”的概念,如果一个类包含了两个或两个以上业务没有关联的功能,就被认为是职责不够单一,可以差分成多个功能单一的类1.2举个栗子Employee类里面包含了多个不同的行为,违背了单一指责原则通过拆分出TimeSheetReport类,依赖了Employee类,遵循单一指责原则2. O-开放关闭原则(Open-ClosedPrinciple)2.1定义软件实体(包括类、模块、功能等)应该对扩展开放,但是对
一 设计原则(SOLID)1. S-单一职责原则(SingleResponsibllityPrinciple)1.1 定义一个类或者模块只负责完成一个职责(或功能),认为“对象应该仅具有一种单一功能”的概念,如果一个类包含了两个或两个以上业务没有关联的功能,就被认为是职责不够单一,可以差分成多个功能单一的类1.2举个栗子Employee类里面包含了多个不同的行为,违背了单一指责原则通过拆分出TimeSheetReport类,依赖了Employee类,遵循单一指责原则2. O-开放关闭原则(Open-ClosedPrinciple)2.1定义软件实体(包括类、模块、功能等)应该对扩展开放,但是对
以下为本人的学习笔记 1.设计模式的目的编写软件过程中,程序员面临着来自耦合性,内聚性和可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件)具有更好的代码重用性(即:相同功能的代码,不用多次编写)可读性(即:编程规范性,便于其他程序员的阅读和理解)可扩展性(即:当需要增加新的功能时,非常的方便,也称为可维护性)可靠性(即:当我们增加新的功能后,对原来的功能没有影响)使程序呈现高内聚,低耦合的特性 2.设计模式七大原则设计模式原则,其实就是程序员在编程时,应当遵守的原则,也是各种设计模式的基础(即:设计模式为什么这样设计的依据)设计模式常用的七大原则有:单一职责原则接口
以下为本人的学习笔记 1.设计模式的目的编写软件过程中,程序员面临着来自耦合性,内聚性和可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件)具有更好的代码重用性(即:相同功能的代码,不用多次编写)可读性(即:编程规范性,便于其他程序员的阅读和理解)可扩展性(即:当需要增加新的功能时,非常的方便,也称为可维护性)可靠性(即:当我们增加新的功能后,对原来的功能没有影响)使程序呈现高内聚,低耦合的特性 2.设计模式七大原则设计模式原则,其实就是程序员在编程时,应当遵守的原则,也是各种设计模式的基础(即:设计模式为什么这样设计的依据)设计模式常用的七大原则有:单一职责原则接口
1.基本介绍里斯科瓦(BarbaraLiskov)使美国麻省理工学院电气工程于计算机科学系资深教授,她是美国国家工程院院士,在程序语言、分布式计算、程序设计方法及软件工程领域做出了卓越贡献。里斯科瓦于1987年提出了一个关于继承的原则,也就是现在我们称为的“里氏替换原则”。里氏替换原则基于子类对象可以赋给父类对象的“多态性”,表明子类可以替换父类,并且出现在父类能够出现的任何地方。但是该原则要求继承时需要遵守以下两点:继承必须确保父类所拥有的“性质”在子类中仍然成立,且子类的程序执行无异常。子类可以新增特有方法,并且可以重写父类的抽象方法,但不能改变父类原有的方法。这两点也主要是衡量继承的使用
1.基本介绍里斯科瓦(BarbaraLiskov)使美国麻省理工学院电气工程于计算机科学系资深教授,她是美国国家工程院院士,在程序语言、分布式计算、程序设计方法及软件工程领域做出了卓越贡献。里斯科瓦于1987年提出了一个关于继承的原则,也就是现在我们称为的“里氏替换原则”。里氏替换原则基于子类对象可以赋给父类对象的“多态性”,表明子类可以替换父类,并且出现在父类能够出现的任何地方。但是该原则要求继承时需要遵守以下两点:继承必须确保父类所拥有的“性质”在子类中仍然成立,且子类的程序执行无异常。子类可以新增特有方法,并且可以重写父类的抽象方法,但不能改变父类原有的方法。这两点也主要是衡量继承的使用