{"id":8847,"date":"2013-03-19T12:08:25","date_gmt":"2013-03-19T03:08:25","guid":{"rendered":"http:\/\/www.softantenna.com\/wp\/?p=8847"},"modified":"2013-03-19T12:10:02","modified_gmt":"2013-03-19T03:10:02","slug":"fizz-buzz-enterprise-edition","status":"publish","type":"post","link":"https:\/\/softantenna.com\/blog\/fizz-buzz-enterprise-edition\/","title":{"rendered":"FizzBuzz\u30a8\u30f3\u30bf\u30fc\u30d7\u30e9\u30a4\u30ba\u30a8\u30c7\u30a3\u30b7\u30e7\u30f3\u304c\u958b\u767a\u3055\u308c\u308b"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/softantenna.com\/wp\/wp-content\/uploads\/2013\/03\/blogcoding2.jpg\" alt=\"Coding2\" title=\"coding2.jpg\" border=\"0\" width=\"560\" height=\"371\" \/><\/p>\n<p>\u91cd\u539a\u9577\u5927\u306a\u30a8\u30f3\u30bf\u30d7\u30e9\u30fc\u30a4\u30ba\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u98a8\u306bFizzBuzz\u554f\u984c\u3092\u89e3\u6c7a\u3059\u308b\u300c<a href=\"https:\/\/github.com\/Mikkeren\/FizzBuzzEnterpriseEdition\">FizzBuzzEnterpriseEdition<\/a>\u300d\u304c\u767a\u8868\u3055\u308c\u307e\u3057\u305f\u3002<\/p>\n<p>\u3061\u306a\u307f\u306bFizz Buzz\u554f\u984c\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u7d20\u990a\u3092\u30c6\u30b9\u30c8\u3059\u308b\u305f\u3081\u306b\u4f7f\u308f\u308c\u308b\u7c21\u5358\u306a\u554f\u984c\u3067\u3001\u300c<strong>\u9806\u756a\u306b\u6570\u5b57\u3092\u30d7\u30ea\u30f3\u30c8\u3059\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u308a\u306a\u3055\u3044\u3002\u305f\u3060\u3057\u30013\u306e\u500d\u6570\u306e\u3068\u304d\u306f\u300cFizz\u300d\u3068\u30015\u306e\u500d\u6570\u306e\u5834\u5408\u306f\u300cBuzz\u300d\u3068\u30013\u30685\u306e\u500d\u6570\u306e\u5834\u5408\u306b\u306f\u300cFizzBuzz\u300d\u3068\u30d7\u30ea\u30f3\u30c8\u3059\u308b\u3053\u3068<\/strong>\u300d\u3068\u3044\u3063\u305f\u554f\u984c\u3067\u3059\u3002<\/p>\n<p><!--more--><\/p>\n<p>\u958b\u767a\u8a00\u8a9e\u306f\u5927\u65b9\u306e\u4e88\u60f3\u901a\u308a(?)<strong>Java<\/strong>\u8a00\u8a9e\u3067\u3057\u305f\u3002<\/p>\n<pre><code class=\"java\">package com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl;\n\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.BuzzStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.BuzzStringPrinterFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.FizzStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.FizzStringPrinterFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.IntIntegerPrinterFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IntegerPrinterFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.IsEvenlyDivisibleStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.LoopComponentFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.NewLineStringPrinterFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.factories.NoFizzNoBuzzStrategyFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.factories.StringPrinterFactory;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopCondition;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopInitializer;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.impl.loop.LoopStep;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.IntegerPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.printers.StringPrinter;\nimport com.seriouscompany.business.java.fizzbuzz.packagenamingpackage.interfaces.strategies.IsEvenlyDivisibleStrategy;\n\npublic class FizzBuzz {\n\tpublic void fizzbuzz(int n) {\n\t\t\n\t\tLoopComponentFactory myLoopComponentFactory = new LoopComponentFactory();\n\t\tLoopInitializer myLoopInitializer = myLoopComponentFactory.createLoopInitializer();\n\t\tLoopCondition myLoopCondition = myLoopComponentFactory.createLoopCondition();\n\t\tLoopStep myLoopStep = myLoopComponentFactory.createLoopStep();\n\t\t\n\t\tIsEvenlyDivisibleStrategyFactory myFizzStrategyFactory = new FizzStrategyFactory();\n\t\tIsEvenlyDivisibleStrategy myFizzStrategy = myFizzStrategyFactory.createIsEvenlyDivisibleStrategy();\n\t\tStringPrinterFactory myFizzStringPrinterFactory = new FizzStringPrinterFactory();\n\t\tStringPrinter myFizzStringPrinter = myFizzStringPrinterFactory.createStringPrinter();\n\t\t\n\t\tIsEvenlyDivisibleStrategyFactory myBuzzStrategyFactory = new BuzzStrategyFactory();\n\t\tIsEvenlyDivisibleStrategy myBuzzStrategy = myBuzzStrategyFactory.createIsEvenlyDivisibleStrategy();\t\n\t\tStringPrinterFactory myBuzzStringPrinterFactory = new BuzzStringPrinterFactory();\n\t\tStringPrinter myBuzzStringPrinter = myBuzzStringPrinterFactory.createStringPrinter();\n\t\t\n\t\tIsEvenlyDivisibleStrategyFactory myNoFizzNoBuzzStrategyFactory = new NoFizzNoBuzzStrategyFactory();\n\t\tIsEvenlyDivisibleStrategy myNoFizzNoBuzzStrategy = myNoFizzNoBuzzStrategyFactory.createIsEvenlyDivisibleStrategy();\n\t\tIntegerPrinterFactory myIntIntegerPrinterFactory = new IntIntegerPrinterFactory();\n\t\tIntegerPrinter myIntIntegerPrinter = myIntIntegerPrinterFactory.createPrinter();\n\t\t\n\t\tStringPrinterFactory myNewLineStringPrinterFactory = new NewLineStringPrinterFactory();\n\t\tStringPrinter myNewLinePrinter = myNewLineStringPrinterFactory.createStringPrinter();\n\t\t\n\t\tfor (int i = myLoopInitializer.getLoopInitializationPoint(); myLoopCondition.evaluateLoop(i, n); i = myLoopStep.stepLoop(i)) {\n\t\t\tif (myFizzStrategy.isEvenlyDivisible(i)) { \n\t\t\t\tmyFizzStringPrinter.print();\n\t\t\t}\n\t\t\tif (myBuzzStrategy.isEvenlyDivisible(i)) { \n\t\t\t\tmyBuzzStringPrinter.print();\n\t\t\t}\n\t\t\tif (myNoFizzNoBuzzStrategy.isEvenlyDivisible(i)) {\n\t\t\t\tmyIntIntegerPrinter.printInteger(i);\n\t\t\t}\n\t\t\tmyNewLinePrinter.print();\n\t\t}\n\t}\n}\n\n<\/code><\/pre>\n<p>\u30e1\u30a4\u30f3\u306eFizzBuzz.java\u3060\u3051\u3067\u3082\u3053\u306e\u5197\u9577\u3055\u306f\u3059\u3054\u3044\u3067\u3059\u306d\u3002\u4ed6\u306b\u3044\u3063\u3071\u3044\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u3055\u3059\u304c\u6211\u3089\u304cJava\u8a00\u8a9e\u8a87\u3089\u3057\u3044(\u30b8\u30e7\u30fc\u30af\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u91cd\u539a\u9577\u5927\u306a\u30a8\u30f3\u30bf\u30d7\u30e9\u30fc\u30a4\u30ba\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u98a8\u306bFizzBuzz\u554f\u984c\u3092\u89e3\u6c7a\u3059\u308b\u300cFizzBuzzEnterpriseEdition\u300d\u304c\u767a\u8868\u3055\u308c\u307e\u3057\u305f\u3002 \u3061\u306a\u307f\u306bFizz Buzz\u554f\u984c\u306f\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u7d20\u990a\u3092\u30c6\u30b9\u30c8\u3059\u308b\u305f\u3081\u306b\u4f7f\u308f\u308c\u308b [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":8846,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","footnotes":""},"categories":[75],"tags":[659,134],"class_list":["post-8847","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-fizzbuzz","tag-java"],"_links":{"self":[{"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/posts\/8847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/comments?post=8847"}],"version-history":[{"count":0,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/posts\/8847\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/media\/8846"}],"wp:attachment":[{"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/media?parent=8847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/categories?post=8847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softantenna.com\/blog\/wp-json\/wp\/v2\/tags?post=8847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}