面向接口的编程

来源:互联网 发布:叽萝捏脸数据 编辑:程序博客网 时间:2024/04/30 05:31

面向接口的编程,将接口与实现分离,可以极大的降低代码的耦合,比如在编程中使用的加密接口,如果将具体的加密算法写入到使用加密的地方,这样就会导致,下一次加密方法发生改变的时候会导致大量的地方需要修改。如果是面向接口的编程,那么只会在具体实现代码的地方进行重写一个加密类即可。
对外提供统一的密码接口
@interface CipherInterface : NSObject
// 加密接口
+ (NSString )enCryptKey:(NSString )key string:(NSString *)string;
// 解密接口
+ (NSString )deCryptKey:(NSString )key string:(NSString *)string;
@end
当使用具体的加密算法比如DES时候:
@interface DesCrypt : NSObject
// 加密接口
+ (NSString )enDesKey:(NSString )key string:(NSString *)string;
// 解密接口
+ (NSString )deDesKey:(NSString )key string:(NSString *)string;
@end

在具体实现时候调用实际需要的加密类即可:
@implementation CipherInterface
+ (NSString )enCryptKey:(NSString )key string:(NSString *)string {
return [DesCrypt enDesKey:key string:string];
}
+ (NSString )deCryptKey:(NSString )key string:(NSString *)string {
return [DesCrypt deDesKey:key string:string];
}
@end

同样的在持久化存储中,在具体使用到存储的地方,是需要使用一个接口类即可,没有必要将具体持久化存储手段比如SQLite与CoreData代码融入到具体的使用场景中,这样在需要替换存储手段的时候可能会非常麻烦!

1 0
原创粉丝点击