2. 발표자
고재도
회사 : 대우정보시스템
Email : haibane84@gmail.com
Face book : http://www.facebook.com/jeado.ko
관심 IT 분야 : JavaScript Framework, Java Framework, Software Design, etc.
21. Routers & History Class System
DOM Event Handling
Modularity Manipulation
MVP
Data Bound MVC AMD
Views
MVVM
SASS & LESS
Cross Browsing Ajax
Production Packaging
22. Routers & History Class System
DOM Event Handling
Modularity Manipulation
MVP
Data Bound MVC AMD
Views
MVVM
SASS & LESS
Cross Browsing Ajax
Production Packaging
23. • Spaghetti Code
• 심한 커플링
• 무분별한 코드 복사
• 재사용성 제로
32. Routers History Class System
DOM Event Handling
Modularity Manipulation
MVP
Data Bound
Views
MVC CSS Animation
MVVM
SASS LESS
Cross Browsing Ajax
Production Packaging
33. Class System
DOM Event Handling
Modularity Manipulation
Data Bound
Views
MVC
Cross Browsing Ajax
34. Class System
DOM Event Handling
Modularity Manipulation
MVC
Ajax
35. Class System
DOM Manipulation
Event Handling
6가지 Feature에의
지원 여부 및 방식으로 분석
Modularity
MVC
Ajax
36.
37. Class System
Ext.define('My.sample.Person', {
name: 'Unknown',
constructor: function(name) {
if (name) {
this.name = name;
}
},
eat: function(foodType) {
alert(this.name + is eating: + foodType);
}
});
var aaron = Ext.create('My.sample.Person', 'Aaron');
aaron.eat(Salad); // alert(Aaron is eating: Salad);
38. Class System
Ext.define('Computer', {
statics: {
instanceCount: 0,
factory: function(brand) {
return new this({brand: brand});
}
},
config: {
brand: null
},
constructor: function(config) {
this.initConfig(config);
this.self.instanceCount ++;
}
});
var dellComputer = Computer.factory('Dell');
var appleComputer = Computer.factory('Mac');
alert(appleComputer.getBrand()); // using the auto-generated getter to get the value
of a config property. Alerts Mac
alert(Computer.instanceCount); // Alerts 2
40. DOM Manipulation
//by id
var el = Ext.get(my-div);
// by DOM element reference
var el = Ext.get(myDivElement);
// css3 쿼리 셀렉터 스펙을 통한 처리
var el = Ext.query(div .help);