Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/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
Design patterns 这种设计叫什么?_Design Patterns - Fatal编程技术网

Design patterns 这种设计叫什么?

Design patterns 这种设计叫什么?,design-patterns,Design Patterns,在过去的几个小时里,有一种常见的设计模式一直困扰着我,因为我不记得它的名字 我记不起名字了,但至少我能描述它 其设计是在适当的时间加载库,以简化用户体验,因为它们不需要等待不必要的加载时间。 它通常在启动程序时使用 下面是python中的伪代码 main.py #main.py import platform if platform.system() == "Darwin": from QwertyMac import QwertyMac as Application eli

在过去的几个小时里,有一种常见的设计模式一直困扰着我,因为我不记得它的名字

我记不起名字了,但至少我能描述它

其设计是在适当的时间加载库,以简化用户体验,因为它们不需要等待不必要的加载时间。 它通常在启动程序时使用

下面是python中的伪代码

main.py

#main.py    
import platform


if platform.system() == "Darwin":
    from QwertyMac import QwertyMac as Application
elif platform.system() == "Windows":
    from QwertyWindows import QwertyWindows as Application
elif platform.system() == "Linux":
    from QwertyLinux import QwertyLinux as Application
else:
    print "platform is not supported"
    exit()

app = Application()
app.run()
QwertyMac.py

#QwertyMac.py
import sys, thread, time # and other 50++ libs.
QwertyWindows.py

#QwertyWindows.py
import sys, thread, time # and other 50++ libs.
QwertyLinux.py

#QwertyLinux.py
import sys, thread, time # and other 50++ libs.
如上所述,sys、thread、time和其他类似的库可以直接导入main.py以减小文件大小,但我们不想设计一个只需1分钟启动的软件,只是为了告诉用户他的平台不受支持,因此我们将其移动到它们真正属于的位置


这个设计叫什么?

延迟加载设计模式:简单而丰富


我想到了懒惰的评估。懒惰还是工厂?我总是把那两个人搞混。