Если вы делаете это в подклассе, у которого есть родительский класс, определяющий универсальный тип, это то, что сработало для меня:
// get generic type class name
String name = ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0].toString();
// then when you've got the name, you can make the Class<T> object
Class.forName(name.replace("class ", ""))
Причина, почему я не мог сделать это с #getClass()
вместо #toString()
в первом отрывке говорится, что я всегда получал класс «Класс», который для меня бесполезен.
Очень простой способ собрать кучу глобальных переменных и функций в один глобальный объект:
// Awful pile of globally-scoped names
var foo = 1
var bar = 2
function go = function(){
console.log('Yeehaw!');
}
// Instead, just dump everything into a global-level object
var MyApp = {
foo: 1,
bar: 2,
go: function(){
console.log('Yeehaw!');
}
}
// Now access stuff like this
console.log(MyApp.foo);
console.log(MyApp.bar);
MyApp.go();
Для «простых» переменных и функций верхнего уровня я могу порекомендовать это. В это можно внести множество улучшений, но они, вероятно, попадут в категорию преждевременных оптимизаций; это отличный первый шаг.
Видео Крокфорда о кинотеатре YUI - хороший пример того, как, помимо прочего, настраивать пространства имен JavaScript.
Вы можете разбить их аналогично тому, что делает jquery.ui ... по категориям или по действию / элементу управления
например:
effects.blind.js
эффекты.bounce.js
ui.accordion.js
Можно ли их разбить на элементы управления, с которыми они имеют дело?
Или тем, что они делают?
Просто некоторые предложения ...
Если вы работаете с jQuery, первый способ организовать свой код - это создать плагины jquery:
http://docs.jquery.com/Plugins/Authoring
http : //www.learningjquery.com/2007/10/a-plugin-development-pattern
Как вы упомянули mvc, существуют различные реализации javascript, но я не уверен, что они очень популярны: jamal, javascript mvc,