网站定制公司排行榜,网站域名做链接怎么做,c2c网站的功能,什么网站可以做卷子面向接口的编程#xff0c;将接口与实现分离#xff0c;可以极大的降低代码的耦合#xff0c;比如在编程中使用的加密接口#xff0c;如果将具体的加密算法写入到使用加密的地方#xff0c;这样就会导致#xff0c;下一次加密方法发生改变的时候会导致大量的地方需要修改…面向接口的编程将接口与实现分离可以极大的降低代码的耦合比如在编程中使用的加密接口如果将具体的加密算法写入到使用加密的地方这样就会导致下一次加密方法发生改变的时候会导致大量的地方需要修改。如果是面向接口的编程那么只会在具体实现代码的地方进行重写一个加密类即可。 对外提供统一的密码接口 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代码融入到具体的使用场景中这样在需要替换存储手段的时候可能会非常麻烦