首先,我想说我已经用Google搜索javascript mediator vs observer
并阅读了近十个链接.
我也在statckoverflow中搜索,我得到了这个Mediator Vs Observer面向对象的设计模式和 mediator-vs-observer.
但是我仍然没有清楚地了解它们之间的区别.
所以我想知道是否有人可以更清楚地解释它们?
也许是一个实例.:)
谢谢.
我试图创建一个例子,这是一个中介模式吗?
码:
var EventMediator = {
publish: function (target, message) {
var args = Array.prototype.slice.call(arguments, 2);
var msgs = target.messages || [];
for (var i = 0; i < msgs.length; i++) {
var msg = msgs[i];
msg.callback.apply(msg.context, args);
}
},
register: function (target, message, fn) {
target.messages = target.messages || [];
target.messages.push({
context: target,
callback: fn
});
}
};
var t1 = {name: …
Run Code Online (Sandbox Code Playgroud) 可能重复:
链接呼叫和一起应用的含义是什么?
我发现了一些这样的代码:
function fun() {
return Function.prototype.call.apply(Array.prototype.slice, arguments);
}
Run Code Online (Sandbox Code Playgroud)
我知道call
和apply
js,但是当他们走到一起时我很困惑.
然后我想知道是否
Function.prototype.call.apply(Array.prototype.slice, arguments)
Run Code Online (Sandbox Code Playgroud)
是相同的 :
Array.prototype.slice.apply(arguments);
Run Code Online (Sandbox Code Playgroud)
如果没有,第一行是做什么的?
我们想要构建一个Web服务来返回一些图像(比如谷歌地图图块).
并且源数据被组织为esri 紧凑缓存格式,我们服务的关键是从包中读取切片.
我不知道如何选择平台,Windows或Linux?
据说linux有一个下注IO的读/写性能比windows.
然而,如果我们选择linux,java是我们唯一的选择,所以我想知道是否有任何我们应该知道的点来提高linux中的IO读取性能?
PS:
在winodws平台中,我们将使用c#构建基于.net4的服务,并使用iis部署服务.
在linux中,我们将使用java构建服务(可能基于spring mvc或其他一些mvc框架),并使用tomcat部署服务.
更新:
我们可能在不同的折叠中有以下源压缩文件:
L1
RxxCxx.bundle
RxxCxx.bundlx
L2
RxxCxx.bundle
RxxCxx.bundlx
Run Code Online (Sandbox Code Playgroud)
来自客户端的请求可能如下所示:
http://ourserver/maptile?row=123&col=234&level=1.png
Run Code Online (Sandbox Code Playgroud)
对于这个请求,我们将进入折叠,L1
因为级别是1
,然后RxxCxx.bundlx
首先读取文件,因为此文件是元数据,直到告诉我们RxxCxx.bundle
用于渲染图像的数据的位置(偏移和长度)(row=123&col=234
) ,然后我们将RxxCxx.bundle
根据偏移量和长度读取.然后我们通过将数据写入响应并将内容类型设置为"image/png"或其他内容来将数据呈现给图像.
这是一个处理请求的整体过程.
然后我想知道是否有任何文件或存在的演示可以告诉我如何处理这些类型的IO读取?
我有两个类Parent
和Child
,而Parent
有其需要3个参数的构造函数:
class Parent{
public Parent(String host,String path,int port){
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想Child
构造函数只需要一个参数,然后我尝试做这样的事情:
class Child extend Parent{
public Child(String url){
String host=getHostFromUrl(url);
String path=....
String port=...
super(host,path,port);
}
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
有什么想法解决它吗?
顺便说一下,我无法Parent
上课.
我有一个活动,其中包含一个ScrollView
,我也有一个GridView
内部ScrollView
的布局:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/root">
<RelativeLayout
android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
.........
<com.test.android.view.ScrollableGridView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:numColumns="auto_fit"
android:columnWidth="100dp"
android:verticalSpacing="2dp"
android:focusable="false"
android:clickable="false">
</com.test.android.view.ScrollableGridView>
</RelativeLayout>
</ScrollView>
public class ScrollableGridView extends GridView {
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
ViewGroup.LayoutParams params = getLayoutParams();
params.height = getMeasuredHeight();
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我使用custome gridview是为了确保gridview可以扩展到它的最大高度(检查这个).
现在加载活动后,我将从服务器加载数据,然后调用:
gridAdapter.notifyDatasetChanged();
Run Code Online (Sandbox Code Playgroud)
然后活动将滚动到网格视图,这意味着用户无法看到gridview上方的内容.
我试过了:
mScrollView.scrollTo(0,mScrollView.getBottom());
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
有什么想法解决它吗?
代码:
String[] logs={"a","b","c"};
int errors=0;
for(String str:logs){
try{
LogParser.parse(str);
} catch(ParseException e){
error++;
continue; // Seems that, this two line codes are not reached.
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,LogParser用于解析组合模式的tomcat日志,当获取日期格式数据时,我使用SimpleDateFormat将其解析为Java.Util.Date对象,然后它可能抛出一个ParseException.the logs数组这里只用于抛出异常.
但是,当解析一个日志时出现此异常时,应用程序将退出,我希望它继续下一个日志.
怎么做?
我已经阅读了以下教程:
http://download.oracle.com/javase/tutorial/essential/exceptions/catchOrDeclare.html.
它说Error和RuntimeException不是try catch块的子主题,应用程序无论如何都会退出.
但java.text.ParseException扩展了Exception,为什么它不能受我的try-catch块的约束?由于"错误"变量不是+1,
我曾想过用这个:
finally{
error++;
continue;
}
Run Code Online (Sandbox Code Playgroud)
是的,它可以工作,但是当正确解析日志时,错误也会添加,它不应该.
谁能告诉我为什么?
这些天我遇到了很多关于css和js路径的问题.经过几次测试后,我无法得到确切的答案,所以我在这里寻求帮助.
1文件和结构.
1)test.css
body{backgorund-image:url(img/bg.gif);}
Run Code Online (Sandbox Code Playgroud)
2)测试/ JS
icon:img/icon.gif
Run Code Online (Sandbox Code Playgroud)
3)example.html的
<html>
<link.... src=css/test.css>
<script ... src=js/test.js>
....
</html>
Run Code Online (Sandbox Code Playgroud)
4)example_sub.html
<html>
<link.... src=../css/test.css>
<script ... src=../js/test.js>
....
</html>
Run Code Online (Sandbox Code Playgroud)
5)药结构:
+img
icon.gif
bg.gif
+css
test.css
+js
test.js
example.html
+subfolder
example_sub.html
Run Code Online (Sandbox Code Playgroud)
2个问题
example.html工作,但example_sub.html不起作用,错过了icon.gif.
所以我想知道test.js是否会在所有页面中使用的常见js,所以所有这些页面应该放在同一个目录中?
路径是如何工作的,我的意思是浏览器如何根据图像路径找到图像?
似乎css中的方式与js中的方式不同.
有谁能给我一个明确的答案?
顺便说一下,我的页面都是jsp,因此它们可以在servlet容器中工作.
如果我使用绝对路径,如:
xxxx src="/img/icon.gif"
Run Code Online (Sandbox Code Playgroud)
它会尝试找到http // localhot:8000/img/icon.gif.对于cource,它将获得404错误.
有任何想法吗?
从我的previouse两个帖子:
2) 在网页中制作一个全屏元素
我发现我必须学习动作以达到我的要求.但是我从来没有做过Flash开发,谷歌搜索后我对动作脚本没有清楚的了解.
所以我想知道一些基本概念:
1)什么是运行时环境?
我们知道浏览器中运行的javascript,但是如何?
2)运行机制怎么样?
对于js,浏览器将xx.js下载到本地,然后运行它.
那个怎么样?
因为我已经下载了一个动作脚本示例:但我没有找到任何xx.as,只有xx.swf和xx.fla,那么xx.fla是否等于xx.js?
3)是否应该遵守动作?
对于js,答案是否定的.每个人都可以看到xx.js的源代码,但是当我尝试用文本编辑器打开xx.fla时,我发现它是一个二进制文件.
4)如何开始使用actionscript,我的意思是开发环境.
对于javascript,我什么都不需要,只需学习js语法,然后打开我喜欢的文本eidtor,然后我就可以写一个xx.js,并运行它.
但是动作怎么样?从谷歌开始,我听说人们说需要flex sdk,我不确定他们的关系.
另外,我是否必须学习如何创建flash-xx.swf?actionscript和flash文件之间的关系是什么?任何填充工具?
我对以上问题感到困惑,我想知道你们是否可以帮我一个忙.
在Web应用程序中,编写javascript是一项常见的工作,我尝试创建跨浏览器代码.
如果我尽力使它在Firefox中运行,那么它在IE中不起作用.
所以我想知道你们是否有任何规则或经验告诉我如何编写跨浏览器代码?
更新:
抱歉,我忘了确保我们不能在我当前的应用程序中使用jquery,因为我们使用的是prototype1.4(这比jquery难以使用),所以大多数时候我们使用本机javascript.
我是Ruby on Rails的新手.构建页面时,我必须手动编写纯HTML代码.
是否有像asp.net的Web控件这样的工具可以轻松构建页面?
javascript ×4
java ×2
android ×1
constructor ×1
css ×1
exception ×1
flash ×1
gridview ×1
html ×1
io ×1
linux ×1
mediator ×1
path ×1
ruby ×1
web-controls ×1