私はロングコードを含むクラスを持っていますが、コードを別々のファイルに整理したいと思います。長いコードを整理するためにmixinや静的メソッドを使うのが良いです
私はMixinを使用し、静的メソッドを使用して2つのアイデアを持っています。例えば
、
class myController {
routeSubView(type: SubViewType, params: any) {
swtich(type) {
case SubViewType.A:
this._showA(params);
break;
case SubViewType.B:
this._showB(params);
break;
case SubViewType.C:
this._showC(params);
break;
case SubViewType.D:
this._showD(params);
break;
// ... a lot more
}
}
private _showA() {
// initialize view and render
}
private _showB() {
// initialize view and render
}
private _showC() {
// initialize view and render
}
private _showD() {
// initialize view and render
}
// ... a lot more
}
#idea1)#idea2)MIXIN
### mixin.ts
export interface ISubviews {
_showA(params: any): any;
_showB(params: any): any;
_showC(params: any): any;
_showD(params: any): any;
}
export function _showA(param: any){
// initialize view and render
}
export function _showB(param: any){
// initialize view and render
}
export function _showC(param: any){
// initialize view and render
}
export function _showD(param: any){
// initialize view and render
}
### my_controller.ts
import * as { Mixin } from './mixin';
class myController implement Mixin.ISubviews {
_showA(params: any): any;
_showB(params: any): any;
_showC(params: any): any;
_showD(params: any): any;
/// ...
}
Cocktail.mixin(myController, Mixin);
使用静的クラスにサブビュー・コードを生成
### sub_views.ts
class SubViews {
static showA(params: any) {
// initialize view and render
}
static showB(params: any) {
// initialize view and render
}
}
### my_controller.ts
import { SubViews } from './sub_views';
class myController {
routeSubView(type: SubViewType, params: any) {
swtich(type) {
case SubViewType.A:
SubViews::showA();
break;
case SubViewType.B:
SubViews::showB();
break;
case SubViewType.C:
SubViews::showC();
break;
case SubViewType.D:
SubViews::showD();
break;
// ... a lot more
}
}
}
を移動良いアイデアですか?または他の良いアイデアですか?アドバイスをお願いします。
私はmixinを使いました。私も参照を参照してください、ありがとう! –