0

2つのサービスを実装しました。1 つは Country API からデータをプルし、もう 1 つは County API からデータをプルします。

私はコントローラーをきれいに保つのが好きなので、サービスを別々に保つのではなく、一緒に組み合わせるのが良い考えかどうか知りたいです。

何が密結合を構成するのか、それが適切かどうかは正確にはわかりません。

このルートをたどるべきですか:

public async Task<IActionResult> Get(
        [FromQuery] double latitude, 
        [FromQuery] double longitude
    {
        var countryService = new CountryService();
        var countryData = await countryService.Get(latitude, longitude);

        var countyService = new CountyService();
        var countyData = await countyService.Get(latitude, longitude);

        return Ok(new Data(countryData, countyData);
    }

また

public async Task<IActionResult> Get(
        [FromQuery] double latitude, 
        [FromQuery] double longitude
    {
        var combinedService = new CombinedService();
        Data combinedData = await combinedService.Get(latitude, longitude);

        return Ok(combinedData);
    }
4

2 に答える 2

0

密結合は、ドメイン レベルでまとまりを感じる場合に優れたアイデアです。Eric Evans の本 DDD では、Bounded Contextという用語が定義されています。このように考えてみてください: 2 つの部分の間でどの程度の情報/知識が共有されているでしょうか? 割合がかなり高い場合は、それらがすでにドメイン レベルにあるため、結合することもできます。これは、Larmans の GRASP による Information Expert の定義にも当てはまります。

詳細については、こちらをご覧ください。

于 2016-11-08T18:21:24.263 に答える