コード例 #1
0
        public static void RegisterGoogleEngine(this IServiceCollection serviceCollection, Action <GoogleBuilder> builder)
        {
            var config = new GoogleBuilder();

            builder(config);

            if (string.IsNullOrEmpty(config.Key))
            {
                throw new NullReferenceException("Google API Key must be specified");
            }

            if (string.IsNullOrEmpty(config.Cx))
            {
                throw new NullReferenceException("Google Search Engine Id (cx) must be specified");
            }

            serviceCollection.AddSingleton <IGoogleConfiguration>(config);
            serviceCollection.AddTransient <ISearchEngine, GoogleSearchEngine>();

            if (SearcherRegistered)
            {
                return;
            }

            serviceCollection.AddTransient <ISearcher, Searcher>();
            SearcherRegistered = true;
        }
コード例 #2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            ReviewDirector director      = new ReviewDirector();
            GoogleBuilder  googleBuilder = new GoogleBuilder();

            director.constructBadGoogleReview(googleBuilder);
            var badGoogleReview = googleBuilder.getReview();

            FacebookBuilder facebookBuilder = new FacebookBuilder();

            director.constructAmazingFacebookRecommendation(facebookBuilder);
            var amazingFacebookReview = facebookBuilder.getReview();
        }