首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >描述界面对称性的对象设计原理

描述界面对称性的对象设计原理
EN

Software Engineering用户
提问于 2017-12-05 17:10:01
回答 1查看 274关注 0票数 5

有人评论了我的一些代码,我认为这些代码很有价值,我想查找一下设计模式来了解更多,但我很难确定它与哪个设计原则有关。

本质上,我有一个编码器/解码器对象。在一个方向上,它将接受一个字符串,并返回一个包含该字符串的信息的对象(假设一个具有单个整数的对象)。相反的方向将接受这个整数并返回一个字符串。

给我的建议是,如果一个方向接受一个字符串并返回一个对象,则相反的方向应该接受相同的对象并返回一个字符串。

这种界面对称性与什么(如果有的话)设计原则有关?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2017-12-05 20:35:32

此设计与逆函数的数学概念相对应:

如果两个函数f和g是这样的:

代码语言:javascript
复制
    f: S -> D  (f takes elements in set S and maps them to elements in set D) 

    g: D -> S  (g takes elements in set D and maps them to elements in set S) 

    and for any x in S,  g(f(x)) = x

那么g就是f的反函数。

如果你把它转到你的问题上:

代码语言:javascript
复制
   encode:   object -> string 
   decode: string -> object
   decode(encode(text)) = text

没有人会质疑decode()encode()的反面

票数 7
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/361881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档