我需要为我的应用程序创建一个架构设计 .
App Details: 在我的应用程序中,我显示了从服务器获取的一些数据 . 因此,基本上当您启动应用程序时,您会获得一个类别列表,当您单击某个类别时,应用程序将使用REST调用Web服务并获取JSON响应 . 获得响应后,将解析JSON数据以创建对象的Arraylist,最后适配器在列表视图中显示此数据 .
Package structure which i have thought of:
com.app.activities:
包含应用程序中所需的所有活动 .
com.app.customviews:
应用程序所需的自定义视图 .
com.app.adapters:
不同的列表/网格适配器,用于创建不同类型的列表和网格视图 .
com.app.parsers:
包含解析从服务器收到的JSON响应的所有解析器类 . 这些类基本上会将一个arraylist返回给活动,这些活动将由适配器类进一步用于创建列表和网格视图 .
com.app.utils:
包含在整个应用程序中使用的函数,例如从服务器获取请求的响应,从输入流获取字符串,从某个URL下载图像,记录等功能 .
com.app.model:
包含各种用户定义数据类型的所有模型类 .
应用程序工作流程:当选择某个类别时, activity
从 utils
获取响应并将其发送到 parsers
以获得 Model
类型的arraylist . 现在这个arraylist被传递给 adapters
,它返回一个适配器对象,最终用于显示 activity
中的列表/网格 .
现在,根据应用程序架构,您的代码应分为以下三个层:
-
表示层
-
业务层
-
数据层
现在我需要知道,根据我的应用程序哪个部分属于哪个层 .
请帮帮忙,我对此完全无能为力 .
谢谢!!
Update: 谷歌搜索我偶然发现这个链接:
http://apparchguide.codeplex.com/wikipage?title=Chapter%2019%20-%20Mobile%20Applications
它说,你的应用程序应该有一些工作流程,业务组件,实体等 .
所以,我认为我目前的包结构不正确,因为我只在活动中做大部分工作 .
所以现在,我的问题是:如果我遵循这个架构,应该是什么包结构或如何设置我的代码库 .
2 回答
你的应用程序UI是,你可以说它是表示层 . 在业务层中,您使用REST和JSON Web服务进行操作 . 数据层驻留在服务器上 . 所以基本上你通过使用一些服务(业务)来显示listview(Presentation)来从服务器(Data)获得结果(信息) .
您的应用仅用于演示吗?业务层在服务器中实现,因为您不更改数据,只显示它 . 对我来说,模型在数据层,其余的都是表示 .