首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

可重用性的6个级别

为了实现这一点,我们构建了组件,以便可以多次重用它们。 一些组件只需要基本的可重用性。 其他人则需要更复杂的技术才能充分利用它们。 我已经确定了6个不同级别的可重用性,但是可能还有更多我错过的地方。...当我们重用该组件(而不是直接使用代码)时,它给我们带来了两个好处: 将来进行更改要容易得多,因为我们只需要在一个地方做 我们不必记住将代码复制到的数十个(或数百个)地方 这是最基本的,也是最经常谈论的可重用性形式...3.适应性 配置的最大问题是缺乏远见。您需要预见将来的需求,并通过放置这些道具将它们构建到组件中。 但是,如果您使组件具有适应性,则无需更改组件即可使用从未想到的用例。...5.扩展 通过适应性和反转性,我们拥有必要的技术,可以最大限度地提高组件的可重用性。 下一步是将这些技术应用于整个组件,以便我们更轻松地扩展其行为。 我们使用命名槽在组件中添加一个或多个扩展点。...这是我遇到的最先进的可重用性应用程序。我用这个技术有很多在我自己的工作。 结论 这是我遇到的6个可重用性级别。 我可能会错过一些,我当然不会说这是一份详尽的清单,但是它足够完整,可以使用。

1.1K20

通过替代文本描述使LinkedIn媒体更具包容性

有一种提高富媒体可访问性的方法,就是在上传图像时提供替代的文本描述。一个好的替代文本描述可以彻底的描述图像,同时把观看者的注意力带到重要的细节上。...为了提高站点的可访问性,我们的团队已经开始创建一个工具,该工具可为上传到LinkedIn的图像添加建议的替代文本描述。...为什么要使用替代性文本描述? 对于图像的替代文本描述可以通过若干种方式来改善feed中富媒体的可访问性。对于使用辅助技术(例如屏幕阅读器)的会员,替代文本描述提供了图像内容的文本描述。...此外,如果我们将这些技术应用于更具体的数据类型(例如,经常在LinkedIn feed上共享的专业主题的富媒体),那么它的准确性将继续下降。...表2:不恰当的替代文本示例以及元分类器如何帮助提高评分 下一步 在这篇文章中,我们简要概述了我们如何探索改进在LinkedIn上的内容可访问性的方法。

1.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    更可靠的 React 组件:组合及可重用性

    可重用性 使用组合的组件也有可重用性的优点,可以重用通用的逻辑。...可重用性 一个可重用的组件,可以做到一次编写多次使用 想象一下,如果有那么一个总是重复发明轮子的软件开发世界。 人们编写代码时,不能使用任何已有库或工具。...有请可重用性出场 -- 让事情运转起来,而非重新发明如何让其运作。...但享受可重用性也非毫无成本的。必须符合单一职责原则和合理的封装,才能说组件是可重用的。 符合单一职责原则是必须的: 重用一个组件实际上就意味着重用其职责 所以,只有唯一职责的组件最容易被重用。...当组件不恰当的具有了多个职责时,其可重用性就收到了很大的限制。只想重用某一个职责时,又会面对由其余不需要的实现造成的职责。 想要一个香蕉,香蕉倒是拿到了 -- 整个丛林都跟了过来。

    2.9K10

    如何使多云的数据治理更具可管理性和一致性

    对于在多云环境中运营业务的组织来说,数据治理和挑战的复杂性是巨大的。数据治理既具有内在的复杂性,又具有挑战性,因为它不会增加收入。这使得在组织内创建和执行一个有效的政策很难获得认可。...因此,组织在多云环境中的数据治理既面临挑战,也面临复杂性。 ? 解决这一问题对组织的长期发展至关重要,没有适当的政策可能导致灾难性的后果。...除了那些在多云环境中运营具有严格的数据治理法律和法规(医疗、金融、法律、制药等)的IT领导者之外,其他领域的IT领导者可以采取一些措施,使其组织在这一领域的治理更具管理性和一致性。...同样,组织数据的质量和安全性也会影响到每个员工和客户,以及企业保持盈利的能力。...虽然制定正确的政策和程序是使数据治理在多云环境中更易于管理和保持一致的一个重要组成部分,但如果没有得到制定预算和分配资源的企业主管的认同,IT主管将无法做到这一点。

    51720

    Java 理论与实践: JDK 5.0 中更灵活、更具可伸缩性的锁定机制

    在简化与平台无关的并发类的开发的同时,它决没有使并发类的编写工作变得更繁琐,只是使它变得更容易了。...object state } finally { lock.unlock(); } 除此之外,与目前的synchronized 实现相比,争用下的ReentrantLock 实现更具可伸缩性...和 Lock 之间相对的可伸缩性。...一般来说,除非您对 Lock 的某个高级特性有明确的需要,或者有明确的证据(而不是仅仅是怀疑)表明在特定情况下,同步已经成为可伸缩性的瓶颈,否则还是应当继续使用 synchronized。...ReentrantLock 还具有可伸缩性的好处,应当在高度争用的情况下使用它,但是请记住,大多数 synchronized 块几乎从来没有出现过争用,所以可以把高度争用放在一边。

    73360

    Kotlin入门(23)适配器的进阶表达

    有鉴于此,循环视图的适配器把视图持有者的重用逻辑剥离出来,由系统自行判断并处理持有者的重用操作。...现在由Kotlin实现循环视图的适配器类,综合前面两小节提到的优化技术,加上视图持有者的自动重用,适配器代码又得到了进一步的精简。...为方便理解循环适配器的Kotlin编码,下面以微信的公众号消息列表为例,给出对应的消息列表Kotlin代码: //ViewHolder在构造时初始化布局中的控件对象 class RecyclerLinearAdapter...这么神奇的魔法,快来看看Kotlin的适配器代码是如何书写的: //利用Kotlin的插件LayoutContainer,在适配器中直接使用控件对象,而无需对其进行显式声明 class RecyclerStaggeredAdapter...import kotlinx.android.synthetic.main.item_recycler_staggered.* 另外,因为LayoutContainer是Kotlin针对性提供给Android

    1.8K41

    对于组件的可重用性,大佬给出来6个级别的见解,一起过目一下!

    为了实现这一点,我们构建了组件,以便可以多次重用它们。 有些组件只需要基本的可重用性,而另一些则需要更复杂的重构技术,我们才能充分复用它。...这里有6个不同级别的可重用性概念,大家先来体会体会,后续更新会一个一个的讲。 1.模板化 通过模板化,我们将一些重复性高的代码包装在其自己的组件中,而不是在周围到处复制和粘贴代码。...当我们重用该组件(而不是直接使用代码)时,它为我们带来了两个好处: 将来进行更改就会容易得多,因为我们只需要在一个地方更改 我们不必记住每个重复代码复被复制到了哪些地方 这是最基本的,也是最经常谈论的可重用性形式...扩展 通过适应性和反转性,我们拥有必要的一些技术基础,这些技能可以最大限度地提高组件的可重用性。 下一步是将这些技术应用于整个组件,以便我们更轻松地扩展其行为。...总结 以上是6个可重用性级别一些概述,当然很有可能会错过一些内容,但基本是可以为我们封装组件提供了一个大致思路,也是很不错的方式。

    59810

    Kotlin 和 Jetpack 视频合集 | MAD Skills

    我们介绍了多种不同的方法,让 Android 代码更具表现力、更简洁、更安全以及更易于使用 Kotlin 运行异步代码。...优先使用 KTX 库 在本视频中,我们探讨了如何通过 Jetpack KTX 扩展 使 Android 和 Jetpack 编码变得轻松、愉悦且符合 Kotlin 习惯。...使用协程和 Flow 简化 API 本视频介绍了如何使用协程和 Flow 简化 API,以及如何使用 suspendCancellableCoroutine 和 callbackFlow API 构建您自己的适配器...上手使用 Room Kotlin API 本视频打开了 Room 的大门,一探如何在 Kotlin 中创建 Room 表和数据库,以及如何使用 Flow 实现插入和使用可观察的查询等一次性挂起操作。...在这一集中,我们将介绍 WorkManager 的基础知识,并深入探讨 CoroutineWorker 等 Kotlin API。

    74420

    Effective Java(第三版)——条目十五:使类和成员的可访问性最小化

    本章包含指导原则,帮助你充分利用这些元素,使你的类和接口是可用的、健壮的和灵活的。...访问控制机制(access control mechanism)[JLS,6.6]指定了类,接口和成员的可访问性。...这将它的可访问性从包级的所有类减少到使用它的一个类。但是,减少不必要的公共类的可访问性要比包级私有的顶级类更重要:公共类是包的API的一部分,而包级私有的顶级类已经是这个包实现的一部分了。...对于成员(属性、方法、嵌套类和嵌套接口),有四种可能的访问级别,在这里,按照可访问性从小到大列出: private——该成员只能在声明它的顶级类内访问。...对于公共类的成员,当访问级别从包私有到受保护级时,可访问性会大大增加。 受保护(protected)的成员是类导出的API的一部分,并且必须永远支持。

    95240

    Nat. Biotechnol.| BioCypher推动生物医学知识表征大一统

    本文提出的BioCypher实现了这一标准化,这是一个FAIR(可查找、可访问、可互操作、可重用)框架,可以透明地构建生物医学知识图谱,同时保留源数据的来源。...将知识映射到生物医学本体有助于平衡协调、人类和机器可读性以及对非专业研究人员的易用性和可访问性的需求。...可重用性:为社区维护KGs是额外的工作,一旦维护停止,它们就会迅速恶化,从而导致可重用性和可再现性问题。为特定目的修改现有的、全面的KG是一个非常重要的过程,而且通常是手工过程,缺乏可再现性。...广泛的自动化减少了开发时间和文件大小,同时还使共享数据集独立于数据库软件版本。 可重用性和可访问性:研究软件的可持续性与社区的采用和贡献密切相关。...讨论 在标准化知识图谱和使生物医学数据存储更具互操作性方面,已经进行了许多尝试。

    33630

    端口和适配器架构

    喜欢通过翻译来学习和分享知识,译作有《Kotlin实战》、《领域驱动设计精粹》、《Serverless架构:无服务器应用与AWS Lambda》和《云原生安全与DevOps保障》。...在前端,业务逻辑最终可能会渗透到 UI(例如,我们把用例的逻辑放到控制器或视图里,导致这些逻辑不能在其它 UI 界面中重用), 甚至 UI 会反过来渗透到业务逻辑中(例如,我们会为了模板中需要的业务逻辑在实体中创建对应的方法...如果我说的不够明白,别慌,后面我会给出一个更具体的例子。 适配器的两种不同类型 左侧代表 UI 的适配器被称为主适配器或者主动适配器,因为是它们发起了对应用的一些操作。...而右侧表示和后端工具链接的适配器,被称为从适配器或者被动适配器,因为它们只会对主适配器的操作作出响应。...它还让可重用的概念更容易更快速地得到验证并被创建出来。 实现隔离和技术隔离 上下文 我们的应用使用SOLR作为搜索引擎,并使用一个开源库连接它并执行搜索。

    43520

    31 天,从浅到深轻松学习 Kotlin

    使用命名参数使代码更具可读性。 Day 13:从 Java 编程语言调用 Kotlin 在同一个项目中使用 Kotlin 和 Java?您有没有顶级功能或属性的课程?...使它们成为顶级属性。它们将被编译为字段和静态访问器。...Android 上 Kotlin 的另一个 DSL 是 Anko。Anko 允许您使用声明性代码构建 Android 视图。...通过类继承,并将属性访问器逻辑与委托者属性重用。 Day 26:延期方法 没有更多的 Util 类。通过使用扩展功能扩展类的功能。把您要扩展的类的名字放在您添加的方法的名字前面。...Android KTX: 可跨越字符串的构建器 Day 30:updatePadding 扩展 通过默认参数扩展现有的 API 通常会让每个人都高兴。

    2.2K30

    每位开发者都应该知道的7种 Node.js 设计模式

    降低耦合性: 将客户端代码与内部实现细节解耦,提高代码的可维护性和灵活性。 提高可读性: 将复杂的逻辑封装在门面中,使代码更有条理且更易于理解。...一致性: 使更改仅影响单个实例,确保行为执行的一致性。 受控状态: 通过集中管理数据操作来简化状态管理。...这就是适配器模式的作用所在。 适配器模式可以在不兼容的接口之间架起桥梁,从而使它们能够无缝地协同工作。 优势: 互操作性: 使具有不同接口的组件之间能够通信,促进系统集成和重用。...可重用性: 适配器实现可以针对类似的兼容性需求重复使用,减少代码重复。 示例: 下面是适配器设计模式的一个简单的代码示例。 点击这里查看完整代码实现。...灵活性: 工厂可根据运行时条件或配置选择合适的对象,使代码更具适应性。 封装性: 对象创建的细节被隐藏在工厂内部,提高了代码的可读性和可维护性。 示例: 下面是工厂设计模式的一个简单的代码示例。

    12910

    外观模式

    这使得子系统更具可重用性,也更容易对子系统进行定制,但这也给那些不需要定制子系统的用户带来一些使用上的困难。...Facade可以提供一个简单的缺省视图,这一视图对大多数用户来说已经足够,而那些需要更多的可定制性的用户可以越过Facade层。 客户程序与抽象类的实现部分之间存在着很大的依赖性。...引入Facade将这个子系统与客户以及其他的子系统分离,可以提高子系统的独立性和可移植性。...; 5)实现一个适配器可能需要一番功夫,也可能不费功夫,视目标接口的大小与复杂度而定; 6)实现一个外观,需要将子系统组合进外观中,然后将工作委托给子系统执行; 7)适配器模式有两种形式:对象适配器和类适配器...类适配器需要用到多重继承; 8)可以为一个子系统实现一个以上的外观; 9)适配器将一个对象包装起来以改变其接口;装饰者将一个对象包装起来以增加新的行为和责任;而外观将一群对象“包装”起来以简化其接口。

    65780

    【翻译】Kotlin 1.1 新版本同样适合安卓开发者

    那么有一个很严肃的问题是: Kotlin 团队能否在带来新特性的同时保持对 Java 6 的兼容性呢?这个问题的回答是肯定的! 所有的新特性仍然适用于 Java 6 ,同时作为扩展而适用于安卓开发者。...类型别名:让你的事件监听更具可读性 当然,类型别名是有很多用处的。但是在我看来首当其冲的是在使用 lambda 表达式的时候能够让事件监听增加可读性。...Kotlin 1.1 中引入的一个新特性就是继承性:数据类也可以继承自其他类。...Delegates.observable(emptyList()) { _, _, _ -> notifyDataSetChanged() } 这不仅使得我们减少了变量的定义,还能让代码更具有可读性...协程 在 Kotlin 1.1 中协程是一个令人振奋的新闻。尽管最后发布的依然是带有“实验性”的包,不过它已经功能齐全并且从今天开始你也可以开始在你的项目中使用了!

    1.1K60

    使用协程和 Flow 简化 API 设计

    在 Kotlin 中,您可以简单地使用协程调用回调,但前提是您必须创建您自己的适配器。 创建您自己的适配器 如果没有找到适合您用例的适配器,更直接的做法是自己编写适配器。...当逻辑变得复杂时,这些回调容易使代码变得不可读,而我们可以使用协程来摆脱它们。 如果您希望探索其它解决方案,可以通过上面函数所链接的源代码为您带来启发。...您可以使用 shareIn 中间操作符在多个收集器间复用同一个 flow,并使冷流成为热流。...您应当考虑通过创建协程适配器使您的 API 或现存 API 简洁、易读且符合 Kotlin 的使用习惯。...首先检查是否已经存在可用的适配器,如果没有,您可以使用 suspendCancellableCoroutine 针对一次性调用;或使用 callbackFlow 针对流数据,来创建您自己的适配器。

    1.6K20

    都2023了你竟然还不知道设计模式?

    使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期。 使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。...适配器(Adapter)模式:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。 桥接(Bridge)模式:将抽象与实现分离,使它们可以独立变化。...GoF中的工厂方法、(类)适配器、模板方法、解释器属于该模式。 对象模式:用于处理对象之间的关系,这些关系可以通过组合或聚合来实现,在运行时刻是可以变化的,更具动态性。...设计模式的目的 编写软件过程中,程序员面临着来自耦合性,内聚性以及可维护性,可扩展性,重用性,灵活性等多方面的挑战,设计模式是为了让程序(软件),具有更好的 代码重用性 (即:相同功能的代码,不用多次编写...) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解) 可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护) 可靠性 (即:当我们增加新的功能后,对原来的功能没有影响) 使程序呈现高内聚

    19520
    领券