我正在寻找一个图形浏览器来检查大型OWL/RDF实例网络.Protege的实例浏览器并不是很有用,如果COE支持实例浏览,我还没有发现.网络规模约为一百万个节点.
我希望能够搜索实例,扩展它以显示其关系,并从那里探索其他实例.图形化会很好,但普通的Jtree也会这样做.
昨天和今天我一直在阅读的一些内容:
这些差异非常微妙,但它们确实会影响系统在经过多年微妙变化,新功能,增强功能等后的弹性.大多数开发人员不喜欢系统维护,我觉得最大的原因是因为系统并非真正设计为保持.通过结合上面的"单例"模式,我抽象了对象的创建和打字,远离我的核心业务逻辑,这对于长期维护至关重要.
要求消费者无缘无故地创建一个类实例; 对静态方法没有任何风险的真实实用程序类是静态方法的优秀案例 - 以System.Convert为例.如果您的项目是一次性的,对未来的维护没有要求,那么整体架构确实不是很重要 - 静态或非静态,并不重要 - 然而,开发速度确实如此.
我们(我)正忙着重写我们的主要应用程序,解决方案中的一个项目是"Common",它包含一个类"clsCommon".这个类没有属性,一个私有方法被称为构造函数中的唯一行,然后只是公共方法.
这个类处理的事情(不是真正的方法名称或签名):
目前,解决方案中的所有其他项目都引用了该项目,并通过以下方式提供对该类的访问:
namespace Us.OtherProjects
{
public class clsCommon : Us.Common.clsCommon
{}
}
namespace Us.OtherProjects
{
public static class clsMain
{
public static clsCommon CommonClsClassReferenceForGlobalUsage = new clsCommon();
. …Run Code Online (Sandbox Code Playgroud) 我注意到Eclipse生成以下代码equals:
public class MyClass {
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
MyClass other = (MyClass) obj;
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
特别感兴趣的是这段代码:
if (getClass() != obj.getClass())
return false;
Run Code Online (Sandbox Code Playgroud)
该代码假定Class返回的对象getClass()将是同一类的所有对象的相同实例(不仅仅是等效实例).也就是说,他们认为没有必要像这样写:
if (getClass().equals(obj.getClass()))
return false;
Run Code Online (Sandbox Code Playgroud)
Java是否正式记录了该getClass()方法的这种行为?
我无法真正理解我做错了什么,因为当我在"小规模"尝试时它正在那里工作.
我有一个名为的班级 Play()
我是这样的:
class Play():
def __init__(self):
file = open("/home/trufa/Desktop/test", "r")
self.word = random.choice(file.readlines()).rstrip()
self.errAllowed = 7
self.errMade = 0
self.errList = []
self.cheatsAllowed = 2##chetas not incrementing
self.cheatsMade =0
self.wordList = ["*"]*len(self.word) ##this one is the one I want to have available in another class
Run Code Online (Sandbox Code Playgroud)
...
然后我有另一个叫做的课 Score()
class Score(Play):
def __init__(self):
self.initialScore = 0
def letterGuess(self):
self.initialScore += 1
return self.errList
Run Code Online (Sandbox Code Playgroud)
...
我实例化了两个:
game = Play()
points = Score()
Run Code Online (Sandbox Code Playgroud)
如果我这样做:
print points.letterGuess()
Run Code Online (Sandbox Code Playgroud)
它给了我一个错误:
Traceback (most recent call …Run Code Online (Sandbox Code Playgroud) 这两个术语在虚拟化中经常使用.有微妙的区别吗?或者在虚拟化环境中它们是完全不同的东西.
首先,有A两个类变量和两个实例变量的类:
In [1]: def fun(x, y): return x + y
In [2]: class A:
...: cvar = 1
...: cfun = fun
...: def __init__(self):
...: self.ivar = 100
...: self.ifun = fun
Run Code Online (Sandbox Code Playgroud)
我们可以看到int类的类变量和实例变量都可以正常工作:
In [3]: a = A()
In [4]: a.ivar, a.cvar
Out[4]: (100, 1)
Run Code Online (Sandbox Code Playgroud)
但是,如果检查函数类型变量,情况就会改变:
In [5]: a.ifun, a.cfun
Out[5]:
(<function __main__.fun>,
<bound method A.fun of <__main__.A instance at 0x25f90e0>>)
In [6]: a.ifun(1,2)
Out[6]: 3
In [7]: a.cfun(1,2)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
/home/future/<ipython-input-7-39aa8db2389e> …Run Code Online (Sandbox Code Playgroud) 我正在使用CodeMirror在我的网站上进行一些语法高亮显示.我在我的html中创建了两个单选按钮.我的JavaScript代码如下:
if(flag == "C")
Editor = CodeMirror.fromTextArea(textArea, {
lineNumbers: true,
matchBrackets: true,
mode: "text/x-csrc"
});
else if(flag == "Cpp")
Editor.off(0);
Editor = CodeMirror.fromTextArea(textArea, {
lineNumbers: true,
matchBrackets: true,
mode: "text/x-c++src"
});
Run Code Online (Sandbox Code Playgroud)
它确实完成了语法高亮的功能,但问题是当我多次单击单选按钮时,它只创建了我点击的数量,这很烦人.所以我想知道在创建新的编辑器实例之前有没有办法删除以前的编辑器实例?
假设我在文件或数据库中有一些数据。它可以是JSON,XML,YAML,CSV,String []等。
我想用这些数据创建一个模型对象。例如:
数据:
Run Code Online (Sandbox Code Playgroud){ "name": "John Doe", "age": "30" }
型号(伪代码):
Run Code Online (Sandbox Code Playgroud)class Person { Person(name, age) { this.name = name; this.age = age; } // business logic }
一些从JSON数据(伪代码)创建Person对象的代码:
Run Code Online (Sandbox Code Playgroud)peopleArray = []; recordSet = aJSONReader.read('file'); for (recordSet as r) { peopleArray.add(new Person(r[0], r[1])); }
您将使用什么根据给定的数据构建模型对象?在我的示例中,我将开始支持JSON。如果我想更改它或支持新的数据格式怎么办?如何解耦此代码?哪种设计模式适合这里?
我有不同的数据类型,我已经定义,我想让它们都成为一个类的实例.是否可以在其上创建类型列表和映射实例,而不必单独声明它们?
我的意思是这样的:
data Type1 = ...
data Type2 = ...
map (instance ClassName) [Type1, Type2]
Run Code Online (Sandbox Code Playgroud) 过去几天我一直在努力弄清楚我正在尝试做的事情在Haskell中是否真的可行.
下面是一些上下文:我正在尝试编写一种小标记语言(类似于ReST),其中语法已经通过指令启用了自定义扩展.对于用户实现新指令,他们应该能够在document数据类型中添加新的语义结构.例如,如果想要添加用于显示数学的指令,他们可能希望MathBlock String在ast内部有一个构造函数.
显然,数据类型是不可扩展的,并且存在DirectiveBlock String包含指令名称的通用构造函数(此处"math")的解决方案是不合需要的,因为我们希望在我们的只有格式良好的构造中具有(因此只有具有良好格式的指令)参数).
使用类型系列,我原型如下:
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE FlexibleInstances #-}
-- Arguments for custom directives.
data family Args :: * -> *
data DocumentBlock
= Paragraph String
| forall a. Block (Args a)
Run Code Online (Sandbox Code Playgroud)
果然,如果有人希望为数学显示定义一个新指令,他们可以这样做:
data Math
-- The expected arguments for the math directive.
data instance Args Math = MathArgs String
doc :: [DocumentBlock]
doc = …Run Code Online (Sandbox Code Playgroud) instance ×10
class ×2
editor ×2
haskell ×2
java ×2
python ×2
.net ×1
attributes ×1
browser ×1
c# ×1
cloud ×1
codemirror ×1
dictionary ×1
equality ×1
inheritance ×1
javascript ×1
json ×1
list ×1
owl ×1
rdf ×1
static ×1
terminology ×1
typeclass ×1
types ×1
variables ×1