コード例 #1
0
        //Builder Example
        public static void Builder()
        {
            var hello = "hello";
            var sb    = new StringBuilder();

            sb.Append("<p>");
            sb.Append(hello);
            sb.Append("</p>");
            WriteLine(sb);

            var words = new[] { "hello", "world" };

            sb.Clear();
            sb.Append("<ul>");
            foreach (var word in words)
            {
                sb.AppendFormat("<li>{0}</li>", word);
            }
            sb.Append("</ul>");
            WriteLine(sb);

            // ^^ Old example of builder problem

            // vv New example of builder

            var builder = new Builder.HtmlBuilder("");

            builder.AddChild("li", "hello");
            builder.AddChild("li", "world");
            WriteLine(builder.ToString());
        }
コード例 #2
0
ファイル: BuilderTest.cs プロジェクト: hidari/DesignPattern
 public void HtmlBuilderTest()
 {
     Builder htmlBuilder = new HtmlBuilder();
     var director = new Director(htmlBuilder);
     director.Construct();
     var filename = htmlBuilder.GetResult();
     Console.WriteLine("File Name: {0} have created.", filename);
 }
コード例 #3
0
        //Fluent Builder Example
        public static void FluentBuilder()
        {
            var builder = new Builder.HtmlBuilder("");

            builder.AddChild("li", "hello");
            builder.AddChild("li", "world");
            WriteLine(builder.ToString());

            // ^^ Old example of builder

            // vv New example of Fluent builder

            var fluentbuilder = new FluentBuilder.HtmlBuilder("");

            fluentbuilder.AddChildFluent("li", "hello").AddChildFluent("li", "world");
            WriteLine(fluentbuilder.ToString());
        }