通常,在使用用于移动平台的SDK和框架或开源WebApp框架(如PHP -> CakePHP、Laravel等)时,通过将类划分为Model、View和Controller (MVC体系结构)来完成职责授权。模式基本上是用您的Views
模型(比如TextView
(Android) / UITextView
(iOS) / <div>
(HTML ))填充模型类数据。
它是这样的:textView.setText(myModel.getField())
我是.NET的新手,我实际上是在我的大学学习软件开发课程,我注意到的前两件事是视图被称为controls。我注意到的第二件事是,提供的示例使用控件自己来管理数据。也许我解释得不对,所以我给你举个例子:
在领域中,我将视图与模型分开,然后通过Controller (比如使用Store#getSaleById(int saleID) : Sale
)获得对所述模型的引用
double calculateTotal(List<Sale> mySale) {}
它们直接传递控件,就像它充当视图和模型一样,并且操作是通过直接从控件获取数据来完成的。
double calculateTotal(ListBox listBox) {}
因此,我想知道.NET的软件设计理念是什么,是将controls直接用于像我看到的示例那样的操作,还是那些示例是错误的,控件只是向用户展示数据的视图。
发布于 2014-06-28 13:55:12
您描述的实践是许多软件开发人员的错误实践,大多数框架并不禁止这种做法。您可以通过错误的编码来滥用几乎所有的框架。
在过去的几年里,开发人员越来越意识到这种工作方式并不是可行的。因此,所有新框架都有一种以MVC相似模式为中心的工作方式。
对于Windows窗体开发,您可以使用MVC的方式编写您的软件,但是框架中没有很多工具可以帮助您这样做。
WPF是来自微软的新UI框架,它更好地支持MVC,这是一种稍微经过调整的模式,称为MVVM。
发布于 2014-06-28 13:43:53
主要有两种架构: windows forms和mvc。使用组件和控件的Windows窗体。Mvc没有。两者都有用途。
听起来,mvc可能就是你要找的东西。
有关windows窗体的介绍,请看这里:intro.asp
对于mvc,请看这里:intro.asp
关于设计模式,请看这里:http://www.dofactory.com/Patterns/Patterns.aspx
https://stackoverflow.com/questions/24467389
复制相似问题