十年专注于品牌网站建设 十年专注于品牌网站建设,低调、高逼格、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

基于同一工作空间框架实现的WFSSS模式

百恒网络 2017-06-09 208

从之前所学可知使用静态链接库比较麻烦,需要给使用者提供.a和.h文件,还要配置很多环境变量。基于同一工作空间框架实现的分层可以有WFSSS、WFOOO、WFSOO和WFOSS模式,接下来南昌网站制作公司先给大家介绍WFSSS模式。

1.创建框架工程

首先,创建一个工作空间,然后添加表示层工程到工作空间,接着创建数据持久层和业务逻辑层的框架工程,具体创建过程如下:在Xcode中选择菜单项File→New→ Project…,在打开的对话框中选择Framework& Library→Cocoa Touch Framework工程模板,如图1所示。

创建框架工程

图1 创建框架工程

如果我们是在工作空间中创建工程,创建过程中要选择工作空间。如图2所示,在Add to和Group中都选择MyNotesWorkspace,然后点击Create按钮创建工程。

选择工作空间

图2 选择工作空间

2.依赖关系建立

三个工程的依赖是:BusinessLogicLayer依赖于PersistenceLayer,PresentationLayer依赖于BusinessLogicLayer。BusinessLogicLayer和PersistenceLayer都是框架工程,我们需要设置BusinessLogicLayer依赖于PersistenceLayer,相对来讲要比静态链接库建立依赖关系要简单得多。

首先,选择TARGETS→BusinessLogicLayer→Build Phases→Link Binary With Libraries,如图3所示,选择左下角的+按钮,然后从弹出界面中选择PersistenceLayer.framework,再点击Add按钮,这样依赖关系就添加好了。

添加依赖关系

图3 添加依赖关系

参考上面的步骤设置PresentationLayer和BusinessLogicLayer的依赖关系。另外,框架工程还需要设置PresentationLayer和PersistenceLayer的依赖关系,最后结果如图4所示。

添加完依赖关系

图4 添加完依赖关系

提示:表示层工程依赖于框架工程时,需要设置业务逻辑层和数据持久层两个依赖关系。而在静态链接库工程时,表示层工程只需要与业务逻辑层建立依赖关系即可,这是因为业务逻辑层静态链接库文件(libBusinessLogicLayer.a)内部已经包含了数据持久层相关类了。

3.代码重构

为了适应于在工作空间中使用框架,我们需要将10.4.1节的代码进行重构,这主要是修改访问类、方法和属性的访问限定级别。

1. 重构Note.swift

Note类的代码如下:

Note类的代码

我们需要为Node类添加public访问限定修饰符,还需要在属性date和content中添加public访问限定修饰符。构造器init也应该是public的。

2. 重构NoteDAO.swift

NoteClass类的代码如下:

NoteClass类的代码

上述代码中,第①行的listData属性的访问限定级别是默认,而不是public的。类和方法的访问限定级别是public。

3. 重构NoteBL

NoteBL类的代码如下:

NoteBL类的代码

上述代码中,第①行用于引入PersistenceLayer(数据持久层)模块。如果不引入该模块,则在PersistenceLayer框架中找不到Note类和NoteDAO类,而且这两个类还应该是public的。第②行代码用于声明默认构造器init的访问限定级别是public。

此外,在表示层PresentationLayer,也需要修改代码import代码:

import BusinessLogicLayer

import PersistenceLayer

想了解更多关于这方面的知识的朋友,随时欢迎您来电和我们联系,本公司专注于南昌APP开发,具有十多年的丰富经验,如有需要,百恒随时为您服务!

400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×