“墨盒”模式是否存在?

时间:2009-03-29 16:31:50

标签: naming-conventions design-patterns

AndroMDA使用术语“盒式磁带”(例如,用于开箱即用的NHibernate支持)。 据我了解,它需要一个API /组件,包装它,从不添加新功能,简化它,通常会消除“全部功能”,但在大多数情况下效果很好。

我的问题:

  • 该术语是否被广泛使用?

  • 可以正确定义吗?

  • 是否应在类/方法名称中使用后缀“Cartridge”?

一个例子:以下Base64助手是否是用于Base64转换的盒式磁带? 你放弃了性能调优的所有功能,但如果你只是想解码一个简单的(和小的)字符串,它可以正常工作:

用法:

   Base64StringCartridge.Decode(input);

实施

public static string Decode(string data)
{
    try
    {
        System.Text.UTF8Encoding encoder = new System.Text.UTF8Encoding();
        System.Text.Decoder utf8Decode = encoder.GetDecoder();

        byte[] todecode_byte = System.Convert.FromBase64String(data);
        int charCount = utf8Decode.GetCharCount(todecode_byte, 0, todecode_byte.Length);
        char[] decoded_char = new char[charCount];
        utf8Decode.GetChars(todecode_byte, 0, todecode_byte.Length, decoded_char, 0);
        string result = new String(decoded_char);
        return result;
    }

    catch
    {
        return "";
    }
}

1 个答案:

答案 0 :(得分:3)

它被称为Facade Pattern。据推测,AndroMDA人员是旧视频游戏机的忠实粉丝......