Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop Typescript中一页的设计模式_Oop_Typescript_Design Patterns - Fatal编程技术网

Oop Typescript中一页的设计模式

Oop Typescript中一页的设计模式,oop,typescript,design-patterns,Oop,Typescript,Design Patterns,我有一个单页申请表。 我也在外面注册和登录 我想知道我是否应该使用登录、注册和密码恢复: 1.带类的标准单例模式 export class Register { foo(): any {} } 2.或者可能只在Register.ts等中显示“导出函数foo” export function foo: any {} 3.还是所有内容都保留在模块注册、模块登录中 module Publics { export module Register { export fu

我有一个单页申请表。 我也在外面注册和登录

我想知道我是否应该使用登录、注册和密码恢复:

1.带类的标准单例模式

export class Register {
    foo(): any {}
}
2.或者可能只在Register.ts等中显示“导出函数foo”

export function foo: any {}
3.还是所有内容都保留在模块注册、模块登录中

module Publics {
    export module Register {
        export function foo(): any {
            // ...            
        }
    }
    export module Login {
        export function foo(): any {
            // ...            
        }
    }
}

它是一个额外的文件,publiccomons.ts,具有公共功能。

TypeScript utopia可以在模块中找到,这些模块使所有内容都井然有序,而不会影响全局范围。在这个理想的世界里,你会

注册护士

export function foo() {

}

//... other registration related code
login.ts

export function foo() {

}

//... other login related code
在这种情况下,您不需要任何名称空间(以前称为内部模块),因为通过使用模块(以前称为外部模块),您已经“比名称空间做得更好”

每个模块都通过导入语句明确其依赖关系,例如:

import { foo } from './register';
作为开发人员工作流程的一部分,您仍然可以选择将输出捆绑到单个文件中。。。或者,您可以使用模块加载器在运行时保持模块完好无损。在需要的时候,用较小的可缓存单元加载较小的文件并不是一件坏事。

解决方案#2。不要使用关键字
module
,它不是用于module,而是用于
名称空间