Typescript库的设计模式
我想开发一个javascript/typescript库,其工作原理如下:Typescript库的设计模式,typescript,design-patterns,singleton,Typescript,Design Patterns,Singleton,我想开发一个javascript/typescript库,其工作原理如下: 从“mylibrary”导入mylibrary mylibrary.config({ 标记:“myRandomString” }) mylibrary.users.get({ id:'userIdString' }) mylibrary.users.create({ 用户名:“用户名” }) mylibrary.products.get({ 标题:“productTitle” }) mylibrary.products.
从“mylibrary”导入mylibrary
mylibrary.config({
标记:“myRandomString”
})
mylibrary.users.get({
id:'userIdString'
})
mylibrary.users.create({
用户名:“用户名”
})
mylibrary.products.get({
标题:“productTitle”
})
mylibrary.products.create({
标题:“productTitle”
})
使用config()
函数,我将设置使库正常工作所需的所有数据。这只需要做一次
然后在mylibrary
中,我使用几乎相同的方法拥有不同的对象,在上面的users
和products
中
我正试图找到在typescript中实现此模式的最佳方法。我不想实例化一个类。我的模式被认为是单身吗
您将如何在typescript中处理此模式
我的图书馆是这样发展的,好主意吗
const mylibrary:IMyLibray = {
token: '',
config(param:ConfigType){
...
},
users: {
create(param:CreateTypeInput){
...
}
},
...
}
p、 我想让这样的库可以在浏览器和服务器上使用
谢谢您当然不需要使用类,是的,这是一个单例,这很好,但您的设计存在的问题是,
myLibrary
可以在没有或配置之前使用。考虑使用<代码> CONFIG返回一个对象,该对象提供对需要配置的功能的访问,或者只需使用库工厂方法,允许创建多个对象。你不想上课,也不需要上课!如果没有配置,我想抛出一个错误。但我看到了按你的建议做的好处。现在我正在考虑为mylibrary
编写一个单例,为每个对象编写一个单例,比如users
和products
。但是将单例编写为类不是更干净吗?我想如果我写的是类而不是对象,我会有更多的自由。我错了吗?非常感谢。既然我是用typescript开发的,它有什么区别吗?你会用这个物体吗?那我怎么用装饰师呢?没什么区别。