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

Android – 切换夜间模式

: 有时我们需要为不同的模式使用不同的资源。...a)默认模式的文件夹名称 drawable values b)夜间模式的文件夹名称: drawable-night values-night 在本篇文章中,我们将使用value文件夹中的colors...点击日间模式,就会如下图所示: ? 日间模式.png 当然,这里因为是日间模式所以看起来,没有多大的改变。下面我们来看看当点击夜间模式时,就会出现明显的区别了。如下图所示: ?...夜间模式.png 我们的colors资源文件是这样的。 正常模式value/colors: <?xml version="1.0" encoding="utf-8"?...类似地,创建两个不同的drawable文件夹,并在这两个文件夹中放置两个具有相同名称的图像,当切换日间/夜间时,就会引用对应的资源。 到这里,咱们的内容就讲解完了?。 快乐生活!快乐工作!快乐编程!

1.1K50
您找到你想要的搜索结果了吗?
是的
没有找到

VIM命令模式与输入模式切换

vi有两种工作模式:命令模式和文本输入模式。启动vi需要输入vi,按[Spacebar]键并输入文件名后回车。 切换模式键 vi从命令模式切换到文本输入模式。每个键以不同方式使vi进入文本输入模式。...按[ESC]键使vi从文本输入模式回到命令模式。 表1列出了vi从命令模式切换到文本输入模式的命令键及其功能。...可以使用put操作符(p或P键)访问这个缓冲区 y 将指定位置的文本复制到临时缓冲区。...可以使用put操作符访问这个缓冲区 P 将指定缓冲区的内容放到当前光标的位置之上 p 将指定缓冲区的内容放到当前光标的位置之下 翻页键 翻页键用来大块滚动用户的文件,在vi的命令模式下可用。...命令模式和输入模式切换有Append,Insert,Replace,Subsitute 记作AIRS,这种记忆方法特别方便,英文单词的意思是空气,vim在命令模式和输入模式切换就像空气一样,无影无形

1.8K30

设计模式-访问模式

定义 访问模式(Visitor Pattern):在访问模式中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。...这种类型的设计模式属于行为型模式。根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。许你通过访问者对象来获取或修改一个或多个被保护的对象的 state。...访问模式的关键点如下: 定义一个访问者对象,它包含一个或多个对象。 定义一个接口,用于定义访问者对象的操作。 在接口中声明一个方法,用于获取对象的状态。 在接口中声明一个方法,用于修改对象的状态。...将访问者对象与需要获取或修改的对象建立引用关系。 访问者对象可以访问或修改它所引用的对象的状态。 用途 稳定的数据结构和易变的操作耦合问题。...访问模式是一种非常有用的设计模式,它可以帮助我们抽象出对象之间的访问关系,并可以方便地实现多态。访问模式的应用场景包括但不限于: 需要对外部用户进行状态持久化存储的对象,如数据库中的记录。

13540

数据访问模式之Repository模式

数据访问层无非就是对数据进行增删改查,其中增、删、改等我们可以抽象出来写一个公共的接口或抽象类来定义这些方法,并采用一个基类实现这些方法,这样该基类派生的子类都会继承增、删、改这些方法,这样我们就避免了每个实体都要重复实现这些方法...一句话概括就是:通过接口 泛型 与ORM结合 实现了数据访问层更好的复用。 在《企业架构模式》中,译者将Repository翻译为资源库。...给出如下说明:通过用来访问领域对象的一个类似集合的接口,在领域与数据映射层之间进行协调。...下面我们就用EF来实现一个简单的Repository模式  1、我们对实体的公共操作部分,提取为IRepository接口,比如常见的增加,删除、修改等方法。...一般Repository都会跟Unit of Work模式联合使用,如果你有好的学习资料欢迎分享,Unit of Work模式曾看了一天也没有理解其精髓。 每天学习一点点,每天进步一点点。

1.3K52

设计模式-数据访问对象模式

数据访问对象模式是什么? 数据访问对象模式(Data Access Object Pattern)或 DAO 模式用于把低级的数据访问 API 或操作从高级的业务服务中分离出来。...以下是数据访问对象模式的参与者。 角色: 数据访问对象接口(Data Access Object Interface):该接口定义了在一个模型对象上要执行的标准操作。...数据访问对象模式可以干嘛? 主要解决jsp时代的一个痛点,层次更清晰,并且各层职责明确,dao就是与数据交互而产生的。 个人理解: 数据访问对象模式就是mvc中的dao层,主要与数据库交互。...数据访问对象模式类图 ?..., updated in the database 姓名:hong学号:0 源码下载:https://gitee.com/hong99/design-model/issues/I1IMES 最后 数据访问对象模式

78730

设计模式——访问模式

【3】访问模式的基本工作原理:在被访问者(上面提到的评委)的类里面加一个对外提供接待访问者的接口。...【4】访问模式主要应用场景:需要对一个对象结构中的对象进行很多不同的操作(这些操作彼此没有关联),同时避免让这些操作 “污染” 这些类对象,可以选用访问模式。...● 破坏封装:访问模式中具体元素对访问者公布细节,这破坏了对象的封装性。   ● 违反了依赖倒置原则:访问模式依赖了具体类,而没有依赖抽象类。  ...三、访问模式结构类图 ---- 访问模式的关键在于:如何将元素的操作分离出来封装成独立的类,其基本机构如下: 【1】抽象访问者角色(Visitor):定义一个访问具体元素的接口,为每个具体元素类对应一个访问操作...通过扩展我们才看出来访问模式的强大之处。

38610

设计模式-访问模式

访问模式 访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式...可以通过访问者来定义整个对象结构通用的功能,从而提高系统的复用程度。 灵活性好。访问模式将数据结构与作用于结构上的操作解耦,使得操作集合可相对自由地演化而不影响系统的数据结构。 符合单一职责原则。...访问模式把相关的行为封装在一起,构成一个访问者,使每一个访问者的功能都比较单一 2.缺点 增加新的元素类很困难。...在访问模式中,每增加一个新的元素类,都要在每一个具体访问者类中增加相应的具体操作,这违背了“开闭原则”。 破坏封装。访问模式中具体元素对访问者公布细节,这破坏了对象的封装性。 违反了依赖倒置原则。...访问模式依赖了具体类,而没有依赖抽象类。

55300

设计模式-访问模式

以简单的module学习设计模式 前言 访问模式是一种将数据操作与数据结构分离的设计模式。 使用场景: 主要解决稳定的数据结构和易变的操作耦合问题。...需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让这些操作"污染"这些对象的类,使用访问模式将这些封装到类中。即数据结构不变,数据发生改变适用的设计模式 ?...基本思路 访问模式的基本想法是,软件系统中拥有一个由许多对象构成的、比较稳定的对象结构,这些对象的类都拥有一个 accept 方法用来接受访问者对象的访问。...移除元素类,必然会导致频繁地修改Visitor接口,如果这样则不适合使用访问模式。...访问模式(账本问题) 我们都知道财务都是有账本的,这个账本就可以作为一个对象结构,而它其中的元素有两种,收入和支出,这满足我们访问模式的要求,即元素的个数是稳定的,因为账本中的元素只能是收入和支出

41630

设计模式--访问模式

访问模式是一种行为型设计模式,它允许你将算法从其操作的对象结构中分离出来。在访问模式中,你可以声明一个抽象的访问者类型,其定义了一组访问操作API。具体的访问者类实现了这些操作。...它们可以访问对象结构中的不同元素,并可在其中存储状态。结构体系可以通过在元素类中声明抽象的访问者接口并使用接口进行多态性引用来支持访问者。...以下是一个使用C#实现访问模式的示例:using System;using System.Collections.Generic;// 访问者接口interface IVisitor{ void...最后,我们定义了一个对象结构类并实现了Attach、Detach和Accept方法,以允许访问者类访问其中的元素。...我们最后对访问者进行访问,并获得了输出结果。【小结】设计模式系列文章写完了,暂时告一段落。日常开发中,仍然需要多加留意,慢慢领会其中的奥妙之处。

20640

设计模式---访问模式

访问模式 介绍 定义及使用场景 UML类图 角色 财务案例 个人心得体会 静态分派以及动态分派 静态分派 动态分派 访问模式中的伪动态双分派 对访问模式的一些思考 总结 优点 缺点 适用性 参考文章...---- 介绍 访问模式,是行为型设计模式之一 访问模式是一种将数据操作与数据结构分离的设计模式 访问模式的基本思想: 软件系统中拥有一个由许多对象构成的、比较稳定的对象结构,这些对象的类都拥有一个...访问模式要求元素的类族要稳定,如果经常添加、移除元素类,必然会导致频繁地修改Visitor接口,如果这样则不适合使用访问模式。...---- 访问模式中的伪动态双分派 访问模式中使用的是伪动态双分派,所谓的动态双分派就是在运行时依据两个实际类型去判断一个方法的运行行为,而访问模式实现的手段是进行了两次动态单分派来达到这个效果。...3、有时在对数据结构上的元素进行操作的时候,需要区分具体的类型,这时使用访问模式可以针对不同的类型,在访问者类中定义不同的操作,从而去除掉类型判断。 ---- 参考文章 设计模式学习之访问模式

34720

设计模式-访问模式

访问模式是什么? 访问模式(Visitor Pattern)是一个行为模式,封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新操作。...ConcreteElement :具体的元素或对象,提供自数据和功能给访问者使用。 ObjectStruture:对象结构,通常包含多个访问对象。 访问模式可以干嘛?...访问模式主要解决的一个问题就是不用区分元素是哪种,而根据访问者的不同信息返回相应的信息,就好比文件夹中有文件,通过访问者的信息来判断你是文件还是文件夹。...个人理解: 访问者就像不同的性别进入不同的厕所,人是元素,性别是访问类型。 访问模式类图 ?...使用到访问模式的场景 Java8 新特性之集合:forEach(Consumer action)

49020

设计模式 - 访问模式

访问模式 将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。...由于外部需求,需要访问特定的类成员。希望在不改变原数据类接口,仅通过增加外部模块实现需求。此模式,是行为模式中最复杂的一种模式。...注: 在最初的访问模式类图没有管理类的角色,这里为了方便客户端使用接口,才增加此类。实际场景中,只要运用到访问模式思想即可,没有必要参照其实现方式生搬硬套。...CSafeMgr只是为了方便客户端使用配件类和访问者类。实际访问模式的设计中没有此角色,可参考意义上的类图。...因此在使用访问模式前,先审视是否有必要。 访问模式的实现相对来说很复杂,因为涉及到各个类的双向交互。同时领略访问者的思想,选择恰当的实现方式即可。

33210

设计模式-访问模式

一、什么是访问模式访问模式是一种行为型设计模式,它允许你在不修改现有代码的情况下添加新的行为,通过将算法与对象结构分离,来实现对数据结构中的元素进行新的操作。...二、访问模式的角色在访问模式中,主要有以下角色:抽象访问者(Visitor):定义一个访问者可以访问哪些元素,并为每种元素都提供一个访问方法,从而对元素进行不同的操作。...三、访问模式的实现下面给出一个简单的访问模式的 Java 示例。假设有一个图形类 Shape,它有三种类型:圆形、矩形和三角形。...这时候,可以使用访问模式。...访问模式的优缺点如下:优点:可以在不修改元素类的情况下添加新的操作,符合开闭原则;将相关行为集中在访问者中,分离了行为和元素,提高了系统的可扩展性和灵活性;访问模式可以对元素进行一些复杂的操作,尤其是在集合类元素的处理上

44360

访问模式

访问模式 访问模式Visitor Pattern中属于行为型模式,针对于对象结构中的元素,定义在不改变该对象的前提下访问结构中元素的新方法,元素的执行算法可以随着访问者改变而改变,主要意图在于将数据结构与数据操作分离...描述 在面向对象编程和软件工程中,访问者设计模式是一种将算法与它所运行的对象结构分离的方法,这种分离的实际结果是能够在不修改现有对象结构的情况下向现有对象结构添加新操作,这是遵循开放封闭原则的一种方式。...优点 符合单一职责原则,凡是适用访问模式的场景中,元素类中需要封装在访问者中的操作必定是与元素类本身关系不大且是易变的操作,使用访问模式一方面符合单一职责原则,另一方面,因为被封装的操作通常来说都是易变的...扩展性良好,元素类可以通过接受不同的访问者来实现对不同操作的扩展。 缺点 具体元素对访问者公布细节,违反了迪米特原则。 具体元素变更比较困难。 违反了依赖倒置原则,依赖了具体类,没有依赖抽象。...适用环境 假如一个对象中存在着一些与本对象不相干(或者关系较弱)的操作,为了避免这些操作污染这个对象,则可以使用访问模式来把这些操作封装到访问者中去。

49100

访问模式

public void visit(Manager manager); } 访问者实现 public class Visitor implements IVisitor{ // 访问普通员工...{ return sex; } public void setSex(int sex){ this.sex = sex; } // 定义访问访问...job; } // 设置job public void setJob(String job){ this.job = job; } // 允许访问访问...是重写的时候就断定要绑定那个,例如定义年轻演员的时候,重写的act方法,此时为静态绑定了KungFuRole, 动态绑定呢,act方法,只有在运行的时候才能判断是和那个绑定 一个演员可以扮演多个角色,如何实现呢,使用访问模式...访问模式的核心在于定义一个方法,就像开启一个门,让访问者进入,然后在将其信息传递给访问者,由访问者执行需要产生的内容。

43350

访问模式

概念 访问模式:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作。 访问模式的目的是封装一些施加于某种数据结构元素之上的操作。...访问模式主要由:Visitor(访问者角色)、Concrete Visitor(具体访问者角色)、Element(元素角色)、Concrete Element(具体元素角色)、Object Structure...访问模式的特点及适用场合 访问模式具有以下的几个特点: 访问模式把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化。 访问模式适用于数据结构相对稳定算法又易变化的系统。...因为访问模式使得算法操作增加变得容易。若系统数据结构对象易于变化,经常有新的数据对象增加进来,则不适合使用访问模式访问模式的优点是增加操作很容易,因为增加操作意味着增加新的访问者。...访问模式将有关行为集中到一个访问者对象中,其改变不影响系统数据结构。其缺点就是增加新的数据结构很困难。 适用场合 在以下情况中我们会考虑使用访问模式: 1.

83750
领券