使用 Grails 构建富 Internet 应用程序,第 1 部分: 使用 Grails 和 Flex 构建 Web 应用程序
2009-11-19 00:00:00 来源:WEB开发网在示例应用程序中,您将创建一个模仿流行站点 Digg 的功能的 Web 应用程序。在 Digg 上,用户可以提交新闻链接(Web 页面)。然后其他用户可以阅读这些新闻,并投票支持或反对它们。您的应用程序将具有这些基本功能。它允许人们匿名地提交新闻并对其进行投票,因此不需要对用户进行建模,对新闻建模即可。下面是针对示例应用程序中的新闻的 GORM 模型,如清单 1 所示。
清单 1. 新闻模型
class Story {
String link
String title
String description
String tags
String category
int votesFor
int votesAgainst
}
这就是对域对象进行建模所需的所有代码。您要声明它的属性和这些属性的类型。这将允许 Grails 为您创建表,并且为从该表读写数据动态创建方法。这是 Grails 提供的主要好处之一。您仅需将数据建模代码放在某个地方,而不需要为简单的读写编写任何模板代码。现在已经准备好域模型,您可以创建一些使用该域模型的业务服务了。
业务服务
SOA 的好处之一就是它允许您以非常自然的方式对系统进行建模。您希望执行的一些操作是什么?您要以此为依据来定义应用程序的业务服务。例如,您需要浏览和搜索新闻,所以要为此创建一个服务,如清单 2 所示。
清单 2. 搜索服务
class SearchService {
boolean transactional = false
def list() {
Story.list()
}
def listCategory(catName){
Story.findAllWhere(category:catName)
}
def searchTag(tag){
Story.findAllByTagsIlike("%"+tag+"%")
}
}
更多精彩
赞助商链接