• 关于

    行为扩展

    的搜索结果

回答

你的方案扩展性不强,包括横向扩展和纵向扩展。横向扩展已经有同学说的,如果要改成30天就跪了,纵向扩展是如果你要增加一个用户属性呢?比如假设要考虑用户的性别,年龄,喜好,使用服务器时间等。采用一个表单独记录的方案对大数据量的支持也不够好。一个表的记录数是有限的,现在是7天的数据可能不多,要是未来要做一个月,一年的呢?查询会非常慢。解决方案:分区表。按照时间分区,一天一个表,每一个表中记录当天用户使用的记录。用脚本控制删除或者打包保存失效的表。每天创建新的表写当天数据进去。类似于服务器日志文件的处理方式。这种方案扩展性比较好,而且非常适合分布式处理,如MapReduce。数据量大的时候非常合理,而用户行为数据就是典型的大数据场景。Mysql并不是很适合做这种应用,可以参考Hive,或者阿里云的ODPS

蛮大人123 2019-12-02 01:44:14 0 浏览量 回答数 0

问题

【视频】Fit2Cloud

随歌 2019-12-01 20:57:38 7655 浏览量 回答数 2

回答

网站重构:在不改变外部行为的前提下,简化结构、添加可读性,而在网站前端保持一致的行为。也就是说是在不改变 UI 的情况下,对网站进行优化,在扩展的同时保持一致的 UI。 对于传统的网站来说重构通常是: 1. 表格(table)布局改为 DIV + CSS 2. 使网站前端兼容于现代浏览器(针对于不合规范的CSS、如对 IE6 有效的) 3. 对于移动平台的优化 4. 针对于 SEO 进行优化 5. 深层次的网站重构应该考虑的方面 6. 减少代码间的耦合 7. 让代码保持弹性 8. 严格按规范编写代码 9. 设计可扩展的API 10. 代替旧有的框架、语言(如VB) 11. 增强用户体验 12. 通常来说对于速度的优化也包含在重构中 13. 压缩JS、CSS、image等前端资源(通常是由服务器来解决) 14. 程序的性能优化(如数据读写) 15. 采用CDN来加速资源加载 16. 对于JS DOM的优化 17. HTTP服务器的文件缓存

小柯卡力多 2019-12-02 03:23:36 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

继承是面向对象的一大特点,指从已有的类中派生出新的子类。子类既能吸收父类的非私有属性和行为,也可以扩展自身的能力。

1977726444717619 2019-12-02 01:03:21 0 浏览量 回答数 0

问题

先有个一个代理商设计模式做高效结算的问题。

落地花开啦 2019-12-01 19:58:53 960 浏览量 回答数 1

回答

重构就是在不改变软件系统外部行为的前提下,改善它的内部结构。重构代码不仅仅限于java开发中,任何开发语言中,重构都有一定的意义。简单点理解就是:不改变代码功能的情况下,对代码进行重新整理,以达到优化代码的目的。常见的重构行为包括:1)删除无用的代码或者注释,提高代码的可读性;2)拆解大方法或者类,便于阅读和维护;3)提炼项目中可用设计模式的地方,简化实现过程。总之,重构就是通过调整程序代码,改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。

蛮大人123 2019-12-02 02:23:13 0 浏览量 回答数 0

问题

日志服务的产品架构是怎样的?

轩墨 2019-12-01 21:50:22 1550 浏览量 回答数 0

回答

1、继承,是子类继承父类,或者接口,拥有某些行为和数据,也可以扩展。上下级关系2、组合,更多的是平级,比如A类可以购买股票,B类可以完成支付,组合C类成为股票支付模块,完成更多的功能

徐雷frank 2019-12-02 01:49:10 0 浏览量 回答数 0

回答

你得把代码和数据库从你的项目中抽出来并尽量简化,以便于其它人在自己的电脑上重现你遇到的问题,再来分析。PDO扩展在Windows环境和Linux环境的行为不相同,有的代码在Windows环境是不报错的(warning、notice全打开也不报),但在linux环境就会报错的改一行代码:$query->setFetchMode(constant($result_type));

落地花开啦 2019-12-02 02:50:45 0 浏览量 回答数 0

回答

那么,最简单的答案是"没有必要这样做"。扩展接口只是意味着您正在创建接口的子类型,换句话说,更专业的行为和集合接口不需要执行可克隆和可序列化接口的作用。 另一个原因是,不是每个人都有理由有可克隆的集合,因为如果它有非常大的数据,那么每个不必要的克隆操作将消耗一个大内存。初学者可能在不知道后果的情况下使用它。 另一个原因是可克隆和可序列化是非常专门的行为,因此只应在需要时实现。例如,集合中的许多具体类实现这些接口。所以,如果你想要此功能。使用这些集合类,否则使用其替代类。

YDYK 2020-04-25 23:10:57 0 浏览量 回答数 0

问题

代理商设计模式如何做到高效结算。:报错

kun坤 2020-06-08 10:59:50 3 浏览量 回答数 1

回答

在React中,建议使用合成代替继承来重用组件之间的代码。道具和组合都为您提供了以显式且安全的方式自定义组件的外观和行为所需的所有灵活性。鉴于,如果要在组件之间重用非UI功能,建议将其提取到单独的JavaScript模块中。以后的组件将其导入并使用该函数,对象或类,而无需对其进行扩展。

你的答案 2020-05-08 11:31:30 0 浏览量 回答数 0

回答

现在忘了编程(我会稍后再说) 想想一种动物,比方说老虎。它跳跃,奔跑,吃东西,睡觉...考虑另一只动物猫。它也会跳跃,吃饭,睡觉... 他们之间有一些共同之处。这些行为对动物来说很普遍。他们扩展了祖先的共同行为。 现在来到编程世界 让我们用Java创建这些动物。每个动物之间都有一些共同点。对? class Tiger { float weight; float height; public void jump() { System.out.println("hey, See the jump"); } public void eat() { System.out.println("Tiger is eating, don't disturb"); } } class Cat { float weight; float height; public void jump() { System.out.println("hey, See the jump"); } public void eat() { System.out.println("I can eat veg"); } } 但是在编程世界中,我们不应重复。(重复代码不是一个好习惯)。您会看到跳转在猫和老虎之间具有通用代码。饮食有差异。 因此,我们可以说将这些常见的东西放入“ 超类动物”中。并将它们扩展到猫和老虎 class Animal { float weight; float height; public void jump() { System.out.println("hey, See the jump"); } public void eat() { } } class Tiger extends Animal{ //it has Animal's jump method @Override public void eat() { System.out.println("Tiger is eating, don't disturb"); } } class Cat extends Animal{ //it has Animal's jump method @Override public void eat() { System.out.println("I can eat veg"); } } 在上面的代码中,我们重用了跳转方法,并更改了猫和老虎的eat方法。 一个类获取另一类的属性(数据成员)和功能(方法)的过程称为继承。继承的目的是提供代码的可重用性,以便一个类仅需编写独特的功能,而其余的公共特性和功能可以从另一个类扩展。 这是面向对象的概念。它称为继承。在这里学习继承的一些概念 回答来源:Stack Overflow

montos 2020-03-23 14:32:05 0 浏览量 回答数 0

回答

名称fnmatch 匹配文件名或路径名 staging 模块 include<fnmatch.h> int fnmatch(const char 图案, const char string , int flags); 描述 在fnmatch()函数检查匹配 pattern 的字符串参数,它是一个 shell 的通配符模式. flags 参数的修改行为;它是下列标志按位"或"的零个或零个以上的:FNM_NOESCAPE如果设置了此标志,反斜线视为普通字符的转义字符 FNM_PATHNAME如果设置了这个标志,仅在字符串中匹配斜杠以斜线(/)中,而不能由星号(*)或者一个问号(?)元字符,也由括号表达式([])包含斜杠. FNM_PERIOD如果设置了这个标志 ,pattern 中的前导句点来匹配字符串中有精确的期限.如果被看作是领先的是字符的字符串,或如果有 fnm_pathname 是紧跟在斜杠和期限. FNM_FILE_NAME这是 gnu fnm_pathname 的同义词. FNM_LEADING_DIR 如果此标志(gnu扩展)设置,如果它匹配来匹配模式被认为是一个初始段的字符串,它后面跟有一个正斜杠.此标志主要用于在内部使用的 glibc ,只有在特定的情况下实现. FNM_CASEFOLD如果此标志(gnu扩展)设置,模式是匹配 case insensitively . 返回值如果字符串与模式匹配为零 ,fnm_nomatch 如果没有匹配或另一个非零值,如果有错误. 符合posix.2. fnm_file_name fnm_leading_dir ,和 fnm_casefold 的标志,在 gnu 扩展. 参见sh(1), glob(3), scandir(3), wordexp(3), glob(7) 引用 collectd.conf(5), 找到(1)git,每个 ref(1)gitignore .(5), globus rls admin(8), init(5)netplugd .(8), pa(1), sudoers(5), tmux(1),a href ="/s/linux.die/65_2631/man 3 uwildmat.shtml"rel = <"nofollow">uwildmat(3)

a123456678 2019-12-02 01:58:30 0 浏览量 回答数 0

回答

面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。再比如我要把这个五子棋游戏改为围棋游戏,如果你是面向过程设计,那么五子棋的规则就分布在了你的程序的每一个角落,要改动还不如重写。但是如果你当初就是面向对象的设计,那么你只用改动规则对象就可以了,五子棋和围棋的区别不就是规则吗?(当然棋盘大小好像也不一样,但是你会觉得这是一个难题吗?直接在棋盘对象中进行一番小改动就可以了。)而下棋的大致步骤从面向对象的角度来看没有任何变化。当然,要达到改动只是局部的需要设计的人有足够的经验,使用对象不能保证你的程序就是面向对象,初学者或者很蹩脚的程序员很可能以面向对象之虚而行面向过程之实,这样设计出来的所谓面向对象的程序很难有良好的可移植性和可扩展性。

小旋风柴进 2019-12-02 02:16:04 0 浏览量 回答数 0

问题

如何使用脚本录制工具

猫饭先生 2019-12-01 21:25:43 1224 浏览量 回答数 0

问题

录制工具安装怎么办?

猫饭先生 2019-12-01 21:26:32 2089 浏览量 回答数 0

回答

使用您使用的语法, int array[100] = {-1}; 表示“将第一个元素设置为-1,其余0元素设置为”,因为所有省略的元素都设置为0。 在C ++中,要将它们全部设置为-1,可以使用类似std::fill_n(from )的方法: std::fill_n(array, 100, -1); 在便携式C中,您必须滚动自己的循环。有编译器扩展,或者如果可以接受,您可以依赖实现定义的行为作为快捷方式。 问题来源于stack overflow

保持可爱mmm 2020-01-16 15:45:49 0 浏览量 回答数 0

回答

连接点(Joinpoint): 表示需要在程序中插入横切关注点的扩展点,连接点可能是类初始化、方法执行、方法调用、字段调用或处理异常等等,Spring只支持方法执行连接点;在AOP中表示为“在哪里干”;        切入点(Pointcut): 选择一组相关连接点的模式,即可以认为连接点的集合,Spring支持perl5正则表达式和AspectJ切入点模式,Spring默认使用AspectJ语法;在AOP中表示为“在哪里干的集合”;        通知(Advice): 在连接点上执行的行为,通知提供了在AOP中需要在切入点所选择的连接点处进行扩展现有行为的手段;包括前置通知(before advice)、后置通知(after advice)、环绕通知(around advice),在Spring中通过代理模式实现AOP,并通过拦截器模式以环绕连接点的拦截器链织入通知;在AOP中表示为“干什么”;        切面(Aspect):横切关注点的模块化,比如日志组件。可以认为是通知、引入和切入点的组合;在Spring中可以使用Schema和@AspectJ方式进行组织实现;在AOP中表示为“在哪干和干什么集合”;        引入(Introduction): 也称为内部类型声明,为已有的类添加额外新的字段或方法,Spring允许引入新的接口(必须对应一个实现)到所有被代理对象(目标对象);在AOP中表示为“干什么(引入什么)”;        目标对象(Target Object):需要被织入横切关注点的对象,即该对象是切入点选择的对象,需要被通知的对象,从而也可称为“被通知对象”;由于Spring AOP 通过代理模式实现,从而这个对象永远是被代理对象;在AOP中表示为“对谁干”;        AOP代理(AOP Proxy): AOP框架使用代理模式创建的对象,从而实现在连接点处插入通知(即应用切面),就是通过代理来对目标对象应用切面。在Spring中,AOP代理可以用JDK动态代理或CGLIB代理实现,而通过拦截器模型应用切面。        织入(Weaving): 织入是一个过程,是将切面应用到目标对象从而创建出AOP代理对象的过程,织入可以在编译期、类装载期、运行期进行。组装方面来创建一个被通知对象。这可以在编译时完成(例如使用AspectJ编译器),也可以在运行时完成。Spring和其他纯Java AOP框架一样,在运行时完成织入。

huanhuanming 2019-12-02 01:50:26 0 浏览量 回答数 0

回答

隐式转换 范围小的类型可以自动转换为范围大的类型,大范围类型能容纳小范围类型(也称显示转换为扩展转换)这些转换都是兼容的。 显式转换 大的范围转换为小范围类型,会造成信息丢失(也称隐式转换为窄化转换),不兼容性转换。如图,利用类型转换操作符(cast)进行显示转换。 浮点数转换为整数的小数问题 float和double类型转换为整数时,总是舍去小数点后面的部分,称此行为为截尾。 如果对小数点后面的部分进行四舍五入,即舍入操作,需要利用java.lang.Math中的round()方法

问问小秘 2020-03-30 14:14:46 0 浏览量 回答数 0

回答

是的:使用ArrayList。 在Java中,“普通”数组是固定大小的。您必须给它们一个尺寸,并且不能扩展或收缩它们。要更改大小,您必须创建一个新数组并复制所需的数据-这效率低下,给您带来痛苦。 幸运的是,有许多内置类可以实现通用的数据结构以及其他有用的工具。您需要检查Java 6 API的完整列表。 一个警告:ArrayList只能保存对象(例如Integer),而不能保存原语(例如ints)。在大多数情况下,自动装箱/自动拆箱将为您静默处理,但根据您的操作,您可能会得到一些奇怪的行为。

保持可爱mmm 2020-02-08 10:53:26 0 浏览量 回答数 0

回答

抽象类不能创建实例,只能当成父类来被继承。从语义的角度来看,抽象类是从多个具体类中抽象出来的父类,它具有更高层次的抽象。从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为其子类的模板,从而避免了子类设计的随意性。抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行扩展、改造,但子类总体上会大致保留抽象类的行为方式。如果编写一个抽象父类,父类提供了多个子类的通用方法,并把一个或多个方法留给其子类实现,这就是一种模板模式,模板模式也是十分常见且简单的设计模式之一。

星尘linger 2020-04-07 13:18:05 0 浏览量 回答数 0

回答

面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 封装 封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。 继承 继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承我们能够非常方便地复用以前的代码。 关于继承如下 3 点请记住: 子类拥有父类非 private 的属性和方法。 子类可以拥有自己属性和方法,即子类可以对父类进行扩展。 子类可以用自己的方式实现父类的方法。(以后介绍)。 多态 所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。 在Java中有两种形式可以实现多态:继承(多个子类对同一方法的重写)和接口(实现接口并覆盖接口中同一方法)。 其中Java 面向对象编程三大特性:封装 继承 多态 封装:隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。 继承:继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承可以提高代码复用性。继承是多态的前提。 关于继承如下 3 点请记住: 子类拥有父类非 private 的属性和方法。 子类可以拥有自己属性和方法,即子类可以对父类进行扩展。 子类可以用自己的方式实现父类的方法。 多态性:父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。提高了程序的拓展性。 在Java中有两种形式可以实现多态:继承(多个子类对同一方法的重写)和接口(实现接口并覆盖接口中同一方法)。 方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。 一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事: 方法重写(子类继承父类并重写父类中已有的或抽象的方法); 对象造型(用父类型引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。

问问小秘 2020-03-27 17:36:33 0 浏览量 回答数 0

回答

这是一个分为两个部分的问题,而凯夫·费尔柴尔德(Kev Fairchild)为第二个问题提供了一个很好的答案,但他完全忽略了第一个问题- 为什么会产生错误? 答案在于预处理器的工作方式。这个 SELECT field-list INTO #symbol ... 解析为直接等效于的解析树 DECLARE #symbol_sessionid TABLE(field-list) INSERT INTO #symbol_sessionid SELECT field-list ... 并将#symbol放入本地范围的名称表中。具有_sessionid的业务是为每个用户会话提供一个私有名称空间;如果您指定两个哈希值(## symbol),则会抑制此行为。对sessionid扩展名进行修改和清除是(显然)透明的。 所有这些的结果是,多个INTO #symbol子句在同一作用域中产生多个声明,从而导致消息2714。

心有灵_夕 2019-12-26 22:17:30 0 浏览量 回答数 0

问题

天猫推荐算法大赛Top 7&nbsp;&nbsp;Bazinga团队访谈

夜之魅 2019-12-01 21:01:44 9055 浏览量 回答数 2

回答

HashMap几乎可以等价于Hashtable,除了HashMap是非synchronized的,并可以接受null(HashMap可以接受为null的键值(key)和值(value),而Hashtable则不行)。 HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是线程安全的,多个线程可以共享一个Hashtable;而如果没有正确的同步的话,多个线程是不能共享HashMap的。Java 5提供了ConcurrentHashMap,它是HashTable的替代,比HashTable的扩展性更好。 另一个区别是HashMap的迭代器(Iterator)是fail-fast迭代器,而Hashtable的enumerator迭代器不是fail-fast的。所以当有其它线程改变了HashMap的结构(增加或者移除元素),将会抛出ConcurrentModificationException,但迭代器本身的remove()方法移除元素则不会抛出ConcurrentModificationException异常。但这并不是一个一定发生的行为,要看JVM。这条同样也是Enumeration和Iterator的区别。 由于Hashtable是线程安全的也是synchronized,所以在单线程环境下它比HashMap要慢。如果你不需要同步,只需要单一线程,那么使用HashMap性能要好过Hashtable。 HashMap不能保证随着时间的推移Map中的元素次序是不变的。

wangccsy 2019-12-02 01:48:57 0 浏览量 回答数 0

回答

就ISO C标准(语言的正式定义)而言,访问其边界之外的数组具有“ 未定义的行为 ”。其字面意思是: 在使用非便携式或错误程序构造或错误数据时的行为,对此国际标准不施加任何要求 一个非规范性的注释扩展了这一点: 可能的不确定行为范围从完全忽略具有无法预测结果的情况到在翻译或程序执行过程中以环境特征记录的方式表现(带有或不带有诊断消息)到终止翻译或执行(带有发布)诊断消息)。 这就是理论。现实是什么? 在“最佳”情况下,您将访问一些内存,这些内存要么是当前正在运行的程序所拥有的(这可能导致您的程序行为不当),要么不是当前正在运行的程序所拥有的(这可能会导致您的程序崩溃,例如细分错误)。或者,您可以尝试写入程序拥有的内存,但是将其标记为只读;这也可能导致程序崩溃。 假设您的程序在一个试图保护彼此并发运行的进程彼此之间的操作系统下运行。如果您的代码在“裸机”上运行,比如说它是OS内核或嵌入式系统的一部分,则没有这种保护;您行为不当的代码就是应该提供这种保护的内容。在这种情况下,损坏的可能性会更大,包括在某些情况下对硬件(或附近的东西或人)的物理损坏。 即使在受保护的OS环境中,保护也不总是100%。例如,存在一些操作系统错误,这些错误使无特权的程序可以获取根(管理)访问权限。即使具有普通用户特权,出现故障的程序也可能消耗过多的资源(CPU,内存,磁盘),从而可能使整个系统瘫痪。许多恶意软件(病毒等)利用缓冲区溢出来获得对系统的未授权访问。 (一个历史示例:我听说过,在一些带有核心内存的旧系统中,在紧密循环中重复访问单个内存位置可能确实导致该内存块融化。其他可能性包括破坏CRT显示器和移动读取的内容。 /写入磁盘驱动器磁头,使其具有驱动器柜的谐波频率,从而使其滑过桌子并掉落在地板上。) 而且总是有天网需要担心。 底线是:如果您可以编写一个程序来故意做一些不好的事情,那么从理论上讲,一个有缺陷的程序至少有可能偶然地做同样的事情。 在实践中,这是非常不可能的,你与MacOS X系统上运行错误的程序会做什么比暴跌更加严重。但是,不可能完全防止错误的代码做真正的坏事。 问题来源于stack overflow

保持可爱mmm 2020-01-16 15:55:44 0 浏览量 回答数 0

回答

一旦开始使用SurfaceView,您就将自己带入一个拥有空白像素区域的世界,并且可以自己按自己的意愿绘制它们。您可以自己做所有事情-这意味着您还需要实现滚动。这样做并非易事,但也不是太困难。 一种实现方法如下:-扩展SurfaceView并实现SurfaceHolder.Callback-使用getHolder()。addCallback(this)来获取回调-使用OnTouch事件来实现滚动行为(即,在响应时,拾取x ,MotionEvent中的y位置,并适当设置偏移量)。 实现一个线程来处理图像的更新。网络上有很多这样的示例(很抱歉,暂时没有任何内容)。 或者,使用屏幕外的位图,并用普通的ImageView绘制它(将ImageView调整为位图的大小,然后将其放在滚动视图中)。

LiuWH 2020-01-20 09:18:42 0 浏览量 回答数 0

回答

最详细的关于互联网的 AOP 1. (面向切面编程Aspect Oriented Programming) 2. (面向行为编程Action Oriented Programming) 3. (支付宝开放平台Alipay Open Platform) 面向切面编程: 计算机科学中的一种程序设计思想,旨在将横切关注点与业务主体进行进一步分离,以提高程序代码的模块化程度。通过在现有代码基础上增加额外的通知(Advice)机制,能够对被声明为“切点(Pointcut)”的代码块进行统一管理与装饰,如“对所有方法名以‘set*’开头的方法添加后台日志”。该思想使得开发人员能够将与代码核心业务逻辑关系不那么密切的功能(如日志功能)添加至程序中,同时又不降低业务代码的可读性。面向切面的程序设计思想也是面向切面软件开发的基础。 面向切面的程序设计将代码逻辑切分为不同的模块(即关注点(Concern),一段特定的逻辑功能)。几乎所有的编程思想都涉及代码功能的分类,将各个关注点封装成独立的抽象模块(如函数、过程、模块、类以及方法等),后者又可供进一步实现、封装和重写。部分关注点“横切”程序代码中的数个模块,即在多个模块中都有出现,它们即被称作“横切关注点(Cross-cutting concerns, Horizontal concerns)”。 日志功能即是横切关注点的一个典型案例,因为日志功能往往横跨系统中的每个业务模块,即“横切”所有有日志需求的类及方法体。而对于一个信用卡应用程序来说,存款、取款、帐单管理是它的核心关注点,日志和持久化将成为横切整个对象结构的横切关注点。 切面的概念源于对面向对象的程序设计的改进,但并不只限于此,它还可以用来改进传统的函数。与切面相关的编程概念还包括元对象协议、主题(Subject)、混入(Mixin)和委托(Delegate)。 (【简单讲】:指将动态的代码切入到类的制定方法,指定位置的编程思想,而利用AOP可以对业务解耦,提高重用性,提升开发效率!) —————— 面向行为编程:一种程序设计范型,同时也是一种程序架构模式。面向行为编程是函数式编程的衍生范型,将电脑运算平展为一系列的变化,并且避免使用程序指令以及堆叠的对象。行为描述一个变化前后的对象的特征,并将其解释为其他一组行为。它将行为作为程序的基本单元,以提高软件的可重用性、可扩展性和可维护性。传统的程序设计主张将程序看作一系列相互交互的对象的集合,或者直接就是一系列对电脑下达的指令。AOP则是直接以人们对变化的需求性认知和解释来表达程序,简化了计算机对程序本身的分析和运行时处理,提升了系统的兼容、演进等特性。 —————————— 支付宝开放平台: 基于支付宝核心功能的重要开放途径,为开发者、企业、合作伙伴开放网上支付基础服务,推动各行各业定制、创新、进化,并最终促成新商业文明生态圈。

游客a5mzdnek7rhbw 2020-04-14 10:55:38 0 浏览量 回答数 0

问题

有没有网站建设方案书的范文,不知道如何下笔。

1911544870438239 2020-02-18 16:02:32 12 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站