我在鲍伯叔叔的书def ordinal_with_if(i):
sig_digits = i % 100
if 3 < sig_digits < 21:
return str(i) + 'th'
elif sig_digits % 10 == 1:
return str(i) + 'st'
elif sig_digits % 10 == 2:
return str(i) + 'nd'
elif sig_digits % 10 == 3:
return str(i) + 'rd'
else:
return str(i) + 'th'
的第21章中已经读到,好的架构必须独立于将要运行的交付系统,无论是Web应用程序,控制台应用程序还是胖客户端应用程序。
现在应该是我想用c#开发软件的核心,我怎么可能将其作为Web客户端应用程序交付?反之亦然,如果我选择Typescript作为我的语言,那么我该如何将我的应用程序作为桌面应用程序交付?
我的问题是天气是我误解了书中指出的概念,还是我可以不用某种框架就可以用一种语言编写通用软件?
答案 0 :(得分:2)
如果您使用C#编写应用程序的核心,则可以选择将其作为Web应用程序交付:ASP.net,Web api和其他框架。想法是,应用程序的内部层(用例,实体等)独立于该交付机制。
就像您在Typescript中进行操作一样,如果您想使用process substitution之类的方式重新部署它,当然可以。再一次,它将是架构的内部层,而不是外部部分(服务和模型)。
如果您依靠内部层中的UI框架,则说明您未使用干净的体系结构。它应该是独立的并且与之隔离(如果没有其他要求,仅用于测试)。