Xamarin表单项目的良好文件夹结构

时间:2017-06-23 04:56:08

标签: c# xamarin xamarin.ios xamarin.android xamarin.forms

由于我是Xamarin表单的新手,我不太了解如何在一个好的文件夹结构中安排你的Xamarin表单项目?

例如。我有一个包含以下文件的项目:

  1. 网络通话
  2. 数据库处理
  3. 查看作品
  4. 模型 - 视图绑定
  5. 公用事业等。
  6. 注意: Xamarin表单本身有Xamarin.iOS和Xamarin.Android解决方案文件夹,上面提到的文件可能对Android和iOS都是通用的。

2 个答案:

答案 0 :(得分:13)

典型的应用程序层

  • 数据层 - 非易失性数据持久性,可能是SQLite数据库,但可以使用XML文件或任何其他合适的机制实现。
  • 数据访问层 - 数据层周围的包装器,提供对数据的创建,读取,更新,删除(CRUD)访问,而不会向调用者公开实现细节。例如,DAL可能包含用于查询或更新数据的SQL语句,但引用代码不需要知道这一点。
  • 业务层 - (有时称为业务逻辑层或BLL)包含业务实体定义(模型)和业务逻辑。商业外观模式的候选人。
  • 服务访问层 - 用于访问云中的服务:从复杂的Web服务(REST,JSON,WCF)到从远程服务器轻松检索数据和图像。封装网络行为并提供应用程序和UI层使用的简单API。
  • 应用程序层 - 通常特定于平台的代码(通常不跨平台共享)或特定于应用程序的代码(通常不可重用)。是否在代码层与UI层中放置代码的一个很好的测试是(a)确定该类是否具有任何实际的显示控件,或者(b)是否可以在多个屏幕或设备(例如,iPhone和iPad)之间共享)。
  • 用户界面(UI)图层 - 面向用户的图层,包含屏幕,窗口小部件和管理它们的控制器。

Golang: Register multiple routes using range for loop slices/map

这些图层中的每一个都代表一个人Solution Folder。 每个Layer也应该是不同的ClassLibrary(Portable)(请参阅enter image description here

此文档中还值得一读:

封装责任分离多态

取自Encapsulation

我还发现了更多信息Xamarin Developer Guide - Achitecture

答案 1 :(得分:1)

没有完全同意哪个选项更好 - 使用共享项目或可移植类库,但这些是代码共享的选项。

就我个人而言,我同意Miguel de Icaza,Xamarin领导,如果你不在其他应用程序中共享你的代码,共享项目会更好,但正如他所说,Xamarin中的一些人认为相反。