读了5遍阿里巴巴Java开发手册-我的感觉


前言

我读取的是阿里巴巴Java开发手册第二版:其实里边很多的东西在我看来就是确认一种开发规范:
重要的是命名、包括包、数据库、实体类等,让多人开发同一代码时候沟通协作变得有规章。形成一种统一的开发习惯。
其中对我触动最大的一句话就是:【设计规约】中的第16条:

注意不同版本不一样:

参照】:可扩展的本质就是找到系统的变化点,并隔离变化点
说明】:世间众多的设计模式其实就是一种设计模式,即隔离变化点的设计模式。
正例】:机制扩展的标志,就是需求的新增,不会在原有代码交付物上进行任务形式的修改:

解析

1、为了设计一个可扩展的系统,我们需要识别出系统中可能发生变化的部分(即变化点),
2、采取措施将这些变化点隔离开来。这样做的目的是,当这些变化点确实发生变化时(例如,由于新的需求),我们不需要修改系统的其他部分,只需要修改这些被隔离的变化点即可。这可以大大降低系统的维护成本和提高系统的灵活性。

结合上述描述给出的专有概念如下:

【高内聚】

指的是一个模块或组件内部的功能应该是高度相关的

低耦合

指的是系统各个模块或组件之间的依赖关系应该尽可能少

单一职责原则:
  1. 一个类或模块只应有一个引起变化的原因,即只负责一项功能。
  2. 这有助于保持模块的独立性,降低系统的复杂性,提高代码的可读性和可维护性。
开闭原则:
  1. 软件实体(如类、模块、函数等)应当对扩展开放,对修改关闭。
  2. 这意味着当需要添加新功能时,应通过添加新代码而非修改现有代码来实现,从而保护现有代码的完整性和稳定性。
里氏替换原则:
  1. 子类必须能够替换其父类,且替换后程序的行为保持不变。
  2. 这一原则强调了继承关系中的行为一致性,有助于确保系统的稳定性和可扩展性。
依赖倒置原则:
  1. 高层模块不应依赖于低层模块,而应依赖于抽象。同时,抽象不应依赖于细节,细节应依赖于抽象。
  2. 通过依赖抽象而非具体实现,可以降低模块间的耦合度,提高系统的灵活性和可扩展性。
接口隔离原则:
  1. 客户端不应依赖于它不需要的接口,即接口应小而完备。
  2. 通过将大接口拆分为多个小接口,可以减少不必要的依赖关系,提高系统的可维护性和可扩展性。
迪米特法则(最少知识原则):
  1. 一个对象应当对其他对象保持最少的了解,只与直接的朋友通信。
  2. 这有助于减少类之间的耦合度,提高系统的模块化程度和可维护性。

设计模式的基础思想总结:

主要元素:

接口:

定义了一组方法的规范,但不提供具体的实现。在设计模式中,接口常被用作抽象层,允许不同的具体类实现相同的接口,从而实现多态性。

抽象类:

既可以包含抽象方法(没有实现的方法),也可以包含具体的方法实现。在设计模式中,抽象类可以用于定义共享的行为或状态,并作为具体实现的基类。

类:

具体的实现类,它们继承自抽象类或实现接口,提供了具体的方法实现和行为。

核心操作:

继承:

允许我们创建一个类(子类)来继承另一个类(父类)的属性和方法。在设计模式中,继承常用于构建类层次结构,实现代码的重用和行为的特化。

封装:

隐藏对象的内部状态和实现细节,仅通过公共方法来访问和修改状态。这有助于保护对象状态的完整性和安全性,同时减少类之间的耦合度。

多态:

允许我们使用父类类型的引用来引用子类对象,并在运行时确定实际调用的方法。在设计模式中,多态性是实现灵活性和可扩展性的关键,它允许我们在不修改现有代码的情况下添加新的功能或行为。

通过这些元素和操作的组合运用,我们可以在Java中实现各种设计模式。这些设计模式是解决特定问题的最佳实践,它们提供了可重用的解决方案,帮助我们设计出更加健壮、灵活和可维护的软件系统。虽然《设计模式:可复用面向对象软件的基础》一书中归纳了23种经典的设计模式,但设计模式的实际应用并不限于这些,我们可以根据具体需求灵活运用和组合这些原则来创建新的设计模式。

那么你有什么感受吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值