我有BaseClass一些方法void doSomething().
有不同的方式foSomething,他们通过实施SubClass1,SubClass2和SubClass3.
现在我想添加一个Boolean active属性,BaseClass以便doSomething在实例上调用它时它将返回而不做任何事情.
我知道我可以编写的BaseClass有doSomething(),看起来是这样的:
Void doSomething(){
if (this.getActive()) actuallyDoSomething();
}
Run Code Online (Sandbox Code Playgroud)
而@Override actuallyDoSomething() 不是@Override doSomething()在子类中.但感觉不对......从某种意义上说,已经同意子类应该提供一个实现,doSomething()而他们并不知道actuallyDoSomething().
我也可以让每个子类if (!this.getActive()) return;在其实现开始时添加一个,doSomething()但这似乎也是错误的,因为它的常用功能我宁愿保持常见.
这样做的常见/最佳实践方法是什么?可以在不改变子类的情况下完成吗?
更新
Q的重点不在于设计此类功能的正确方法(这非常简单),而是关于如何在不破坏任何内容的情况下将此类功能添加到现有方案中.
active默认情况下会是真的,但是如果有人打电话,setActive(false)那么在任何所述子类的任何实例上都希望它会变为非活动状态并且连续调用.doSomething()将不会做任何事情......
在http://alanstorm.com/magento_system_configuration_in_depth_tutorial中, @ AlanStorm提供了一个非常好的系统配置教程.
他还解释了如何使用<depends>标签仅在另一个字段中设置特定值时才显示字段.
我的Q是如果字段A具有值V1或V2,我如何使fieldB可见.<depends>还有其他选项吗?
此外,如果有人知道magento的代码在哪里实现,我也希望自己看一下代码.
谢谢
有没有支持创建交互式节点和箭头的javascript框架?
我希望能够定义节点(带有一些grahics和文本)和(定向)箭头连接它们,箭头本身(或靠近它)也有文本.
我希望节点能够基于箭头的最小交叉点和可能的其他类型的提示来渲染它们,例如向每个节点提供数字并且具有较低数字的节点在显示器中位于更高(或更低)的位置.
如果自动布局机制还支持修复某些节点的位置并仅布置非固定节点的能力,那么它也会很好.
根据需要,节点和箭头应该是可选择的可拖动和可点击的触发事件.
如果我找不到更好的东西,我会使用raphael.但很乐意为自己节省一些编码时间.
我有一台运行debian lenny的机器.
我需要能够从命令行使用curl,但它不可用.
当我尝试使用它时,我得到:
curl: command not found
Run Code Online (Sandbox Code Playgroud)
我需要安装什么才能使用此命令?
更新:
我试着跑步apt-get install curl
并得到以下内容:
xxxxx:~# apt-get install curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
lockfile-progs liblockfile1
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
ca-certificates libcurl3 libldap-2.4-2 libssh2-1 openssl
The following NEW packages will be installed:
ca-certificates curl libcurl3 libldap-2.4-2 libssh2-1 openssl
0 upgraded, 6 newly installed, 0 …Run Code Online (Sandbox Code Playgroud) 在显示CSS文件的大纲时,如何使Eclipse的Outline视图执行以下任何操作:
谢谢
澄清:我不是在谈论对eclipse进行代码修改.如果已经有一些隐藏的方式来做这些话,我就会徘徊.(比如添加一个以OUTLINE或类似词开头的css注释).
有没有办法关闭三星Galaxy s2中移动浏览器使用的高亮效果?
我已经尝试过:
-webkit-tap-highlight-color:rgba(0,0,0,0)
-webkit-tap-highlight-color:transparent
-webkit-touch-callout: none;
outline:none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none;
Run Code Online (Sandbox Code Playgroud)
或者 - 有人可以准确地解释这些效果显示的时候吗 我可以检测屏幕触摸启动并以不触发这些效果的方式触摸吗?
谢谢
css3多个阴影是否可以从不同的css规则/类中累积?
IE
.multipleShadows {box-shadow: 0 0 10px 5px black, 40px -30px lime}
Run Code Online (Sandbox Code Playgroud)
将为元素创建两个阴影:黑色和石灰。
但我想要两个不同的类 - 一个用于 blackShadow,一个用于 LimeShadow
.blackShadow {box-shadow: 0 0 10px 5px black}
.limeShadow {box-shadow: 40px -30px lime}
Run Code Online (Sandbox Code Playgroud)
并且都应用于具有两个类的单个元素。
<div class="blackShadow limeShadow">my div</div>
Run Code Online (Sandbox Code Playgroud)
这可以做到吗?是否有其他方法可以实现这一目标?
谢谢。
两者之间是否存在性能差异或其他差异:
SELECT distinct(users.id),2 as someFieldName ,0 as someOtherFieldName
From users join ...
Run Code Online (Sandbox Code Playgroud)
和这个:
SELECT distinct users.id ,2 as someFieldName ,0 as someOtherFieldName
From users join ...
Run Code Online (Sandbox Code Playgroud)
结果集用作插入语句的一部分,由于连接的原因,选择可能多次返回相同的用户ID(此处未显示)
我正在使用mysql。
我应该为HashSet使用什么初始容量,我知道我将插入1000个整数以防止需要任何内部重建?
起初我虽然我应该使用1000但是阅读带有initialCapacity参数的构造函数的描述Constructs a new, empty set; the backing HashMap instance has the specified initial capacity and default load factor (0.75)..
那么如果我将容量设置为1000,hashMap会在达到750个元素时调整大小?
另外我假设hashMap的有效性需要一些"空间",因此解决IC*0.75 = 1000来获得像1334这样的东西可能也不是最好的解决方案,或者是它?
更新:
1)我知道内部重新规模的含义并不重要,但仍然是学习和更好地理解我正在使用的环境的机会.努力应该是最小的.
2)关于数据结构选择的几点评论.请在此处查看我之前的Q:数据结构建议,其中提供了有关我的方案的更准确信息.
背景:
我有一个使用lesscss的Java项目。我使用grunt与grunt-contrib-watch和grunt-contrib-less to compile my.LESS files to.css`。
一切都很好。
问题是要使eclipse Tomcat服务器开始提供更新的.css文件,我需要刷新eclipse中的项目。
我在徘徊,是否有一种方法可以使日蚀watch在咕unt声中作为周期的一部分进行刷新?或者实际上,是否有办法使用grunt刷新当前打开的eclipse项目(鉴于我知道它的路径,如果有帮助的话)。
将其连接到手表周期并不难,并且可以通过更改以下项来完成Gruntfile.js:
watch: {
styles: {
// Which files to watch (all .less files recursively in the less directory)
files: ['../WebContent/less/**/*.less'],
tasks: ['less'],
options: {
nospawn: true
}
},
Run Code Online (Sandbox Code Playgroud)
至:
watch: {
styles: {
// Which files to watch (all .less files recursively in the less directory)
files: ['../WebContent/less/**/*.less'],
tasks: ['less','updateEclipseTask'],
options: {
nospawn: true
}
},
Run Code Online (Sandbox Code Playgroud) css ×3
eclipse ×2
java ×2
class ×1
curl ×1
debian ×1
distinct ×1
dropshadow ×1
eclipse-wtp ×1
graph ×1
gruntjs ×1
hashmap ×1
hashset ×1
html ×1
javascript ×1
layout ×1
magento ×1
magento-1.4 ×1
methods ×1
mysql ×1
outline ×1
outline-view ×1