OSGi: заменяет ли Blueprint декларативные службы?

using System;

namespace Strings
{
    class Program
    {
        static void Main(string[] args)
        {

/*          decimal pie = 1; 
            decimal e = -1;
*/
            var stopwatch = new System.Diagnostics.Stopwatch();
            stopwatch.Start(); //added this nice stopwatch start routine 

  //leibniz formula in C# - code written completely by Todd Mandell 2014
/*
            for (decimal f = (e += 2); f < 1000001; f++)
            {
                 e += 2;
                 pie -= 1 / e;
                 e += 2;
                 pie += 1 / e;
                 Console.WriteLine(pie * 4);
            }

                 decimal finalDisplayString = (pie * 4);
                 Console.WriteLine("pie = {0}", finalDisplayString);
                 Console.WriteLine("Accuracy resulting from approximately {0} steps", e/4); 
*/

// Nilakantha formula - code written completely by Todd Mandell 2014
// π = 3 + 4/(2*3*4) - 4/(4*5*6) + 4/(6*7*8) - 4/(8*9*10) + 4/(10*11*12) - (4/(12*13*14) etc

            decimal pie = 0;
            decimal a = 2;
            decimal b = 3;
            decimal c = 4;
            decimal e = 1;

            for (decimal f = (e += 1); f < 100000; f++) 
            // Increase f where "f < 100000" to increase number of steps
            {

                pie += 4 / (a * b * c);

                a += 2;
                b += 2;
                c += 2;

                pie -= 4 / (a * b * c);

                a += 2;
                b += 2;
                c += 2;

                e += 1;
            }

            decimal finalDisplayString = (pie + 3);
            Console.WriteLine("pie = {0}", finalDisplayString);
            Console.WriteLine("Accuracy resulting from {0} steps", e); 

            stopwatch.Stop();
            TimeSpan ts = stopwatch.Elapsed;
            Console.WriteLine("Calc Time {0}", ts); 

            Console.ReadLine();

         }
     }
 }
23
задан UnclickableCharacter 14 March 2017 в 11:44
поделиться

1 ответ

Я спросил Я задаю тот же вопрос, и во время обсуждения этого с другими участниками этой темы, я пришел к выводу, что, хотя эти два аспекта в некоторой степени частично совпадают, вариант использования, когда использовать, сильно отличается. DS - это легкое решение, позволяющее декларативно избежать зависимостей от активаторов и моделей. BP - это, по сути, контейнер DI, предназначенный для корпоративных развертываний. Это также более характерно для "обычных" Java-разработчиков, не слишком знакомых с динамической природой OSGi (скрывающейся за прокси-серверами).

С точки зрения реализации, над ним работают два проекта (все они не зависят от контейнера и официально не выпущены). Spring DM 2.0 будет предоставлять реализацию ( 2.0.0.M1 уже содержит рабочую реализацию ), а также Apache как часть своего проекта geronimo ( слайд-шоу ).

12
ответ дан 29 November 2019 в 03:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: