コード例 #1
0
        static void Main(string[] args)
        {
            Serializer serializer;
            String     serializationType = Console.ReadLine(), serializableText = Console.ReadLine();

            //todo: есть такой паттерн - цепочка отвественностей. смысл - инкапсулировать выбор сериализации внутри класса сериализации
            //todo: т.е. вместо свитча в мейне, научить сериализатор отвечать на вопрос, а моржет ли он работать с таким типом сериалзцции
            switch (serializationType)
            {
            case "Json":
                serializer = new JSONSerializer();
                break;

            case "Xml":
                serializer = new XMLSerializer();
                break;

            default:
                return;
            }
            Console.WriteLine(doMathWithSrlz(serializer, serializableText));
        }
コード例 #2
0
ファイル: Class1.cs プロジェクト: NastaPu/RIAT
        static void Main(string[] args)
        {
            String     serializationType = Console.ReadLine();
            Serializer serializer;

            switch (serializationType)
            {
            case "Json":
                serializer = new JSONSerializer();
                break;

            case "Xml":
                serializer = new XMLSerializer();
                break;

            default:
                return;
            }
            Input  input  = serializer.deserialize <Input>(Console.ReadLine());
            Output output = mathOperations(input);

            Console.WriteLine(serializer.serialize <Output>(output));
        }