• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Objective-C外观模式--简单介绍和使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

外观模式(Facade),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。

 

在以下情况下可以考虑使用外观模式:
(1)设计初期阶段,应该有意识的将不同层分离,层与层之间建立外观模式。
(2) 开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口。
(3) 维护一个大型遗留系统的时候,可能这个系统已经非常难以维护和扩展,但又包含非常重要的功能,为其开发一个外观类,以便新系统与其交互。
 
有点:
(1)实现了子系统与客户端之间的松耦合关系。
(2)客户端屏蔽了子系统组件,减少了客户端所需处理的对象数目,并使得子系统使用起来更加容易。
 
简单代码示例:
新建一个Group包含`Shape.h / Shape.m / RectShape.h / RectShape.m / CircleShape.h / CircleShape.m
 
Shape.h
1 #import <Foundation/Foundation.h>
2 
3 @interface Shape : NSObject
4 
5 - (void)draw;
6 
7 @end

 

RectShape.h

1 #import "Shape.h"
2 
3 @interface RectShape : Shape
4 
5 - (void)draw;
6 
7 @end

 

CircleShape.h

1 #import "Shape.h"
2 
3 @interface RectShape : Shape
4 
5 - (void)draw;
6 
7 @end

 

再创建一个DrawShape.h / DrawShape.m作为Controller使用

 1 #import <Foundation/Foundation.h>
 2 #import "RectShape.h"
 3 #import "CircleShape.h"
 4 
 5 @interface DrawShape : NSObject
 6 
 7 + (void)drawRectShape;
 8 + (void)drawCircleShape;
 9 
10 @end

 

Controller中使用

 1 #import "ViewController.h"
 2 #import "DrawShape.h"
 3 
 4 @interface ViewController ()
 5 
 6 @end
 7 
 8 @implementation ViewController
 9 
10 - (void)viewDidLoad {
11     [super viewDidLoad];
12     
13     //调用画画接口
14     [DrawShape drawRectShape];
15     [DrawShape drawCircleShape];
16     
17 }
18 
19 
20 @end

 

 

 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
iOS纯代码实现界面建立、跳转、导航栏(无storyboard、无nib)(Objective-C) ...发布时间:2022-07-12
下一篇:
Objective-C之协议发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap