Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate API classes into separate modules from implementations #96

Closed
jboynes opened this issue Jun 5, 2015 · 1 comment
Closed

Separate API classes into separate modules from implementations #96

jboynes opened this issue Jun 5, 2015 · 1 comment
Assignees
Labels
🚨 This issue needs some love. triage me I really want to be triaged.

Comments

@jboynes
Copy link

jboynes commented Jun 5, 2015

When using injection, application code would generally not need to interact with the implementation classes. For example, it would receive a Datastore or Storage instance directly and never need to interact with any of the factory or ServiceOptions classes e.g.

class MyApp {
  @Resource Datastore dataset;
  @Inject Bucket data;
  void doSomething() {
    // just use dataset and data fields ...
  }
}

By separating the API classes that it would use into a separate jar, the user can avoid having a dependency on the implementation itself and on any of the libraries that the implementation happens to use.

@garrettjonesgoogle
Copy link
Member

Since this issue hasn't been touched in a year and a half and the current design is stable, I'm going to closed out the issue.

@yoshi-automation yoshi-automation added 🚨 This issue needs some love. triage me I really want to be triaged. labels Apr 6, 2020
github-actions bot pushed a commit to suztomo/google-cloud-java that referenced this issue Jun 29, 2022
🤖 I have created a release \*beep\* \*boop\* 
---
### Updating meta-information for bleeding-edge SNAPSHOT release.
---


This PR was generated with [Release Please](https://github.com/googleapis/release-please).
github-actions bot pushed a commit that referenced this issue Jul 14, 2022
Source-Link: googleapis/synthtool@18d4e9b
Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-java:latest@sha256:f8374176dc59291f05dd3fec927a9da2cda687a9ef4de32e77f699a2be12ab45
github-actions bot pushed a commit that referenced this issue Sep 15, 2022
🤖 I have created a release *beep* *boop*
---


### Updating meta-information for bleeding-edge SNAPSHOT release.

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
github-actions bot pushed a commit that referenced this issue Sep 15, 2022
🤖 I have created a release *beep* *boop*
---


### Updating meta-information for bleeding-edge SNAPSHOT release.

---
This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please).
github-actions bot pushed a commit that referenced this issue Oct 4, 2022
* deps: update dependency cachetools to v5

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
github-actions bot pushed a commit that referenced this issue Oct 4, 2022
🤖 I have created a release *beep* *boop*
---


## [0.5.5](https://togithub.com/googleapis/java-video-live-stream/compare/v0.5.4...v0.5.5) (2022-09-30)


### Dependencies

* Update dependency cachetools to v5 ([#101](https://togithub.com/googleapis/java-video-live-stream/issues/101)) ([8b1f7cd](https://togithub.com/googleapis/java-video-live-stream/commit/8b1f7cd252a8d8be47adb7ad2647a9c978fe4433))
* Update dependency charset-normalizer to v2.1.1 ([#109](https://togithub.com/googleapis/java-video-live-stream/issues/109)) ([020b87d](https://togithub.com/googleapis/java-video-live-stream/commit/020b87d80c8ec0f6ccaee36536161d8ba32c9afc))
* Update dependency click to v8.1.3 ([#110](https://togithub.com/googleapis/java-video-live-stream/issues/110)) ([b01a8bc](https://togithub.com/googleapis/java-video-live-stream/commit/b01a8bc5c34de5997174241cce8bef616c752292))
* Update dependency google-api-core to v2.10.1 ([#111](https://togithub.com/googleapis/java-video-live-stream/issues/111)) ([fc39507](https://togithub.com/googleapis/java-video-live-stream/commit/fc39507d7ab374a607e7ad7bfc1feb67f1ade1bf))
* Update dependency google-auth to v2.12.0 ([#123](https://togithub.com/googleapis/java-video-live-stream/issues/123)) ([9332a20](https://togithub.com/googleapis/java-video-live-stream/commit/9332a2057e6eb9d24cb25136c9a0fa1fc1cb135d))
* Update dependency google-cloud-storage to v2.5.0 ([#112](https://togithub.com/googleapis/java-video-live-stream/issues/112)) ([b94e163](https://togithub.com/googleapis/java-video-live-stream/commit/b94e1630336fc419df81890907932ff2c4dce5a7))
* Update dependency google-crc32c to v1.5.0 ([#113](https://togithub.com/googleapis/java-video-live-stream/issues/113)) ([29f67f1](https://togithub.com/googleapis/java-video-live-stream/commit/29f67f1b834af05b0f1f9b7655d6b3e418393ebb))
* Update dependency google-resumable-media to v2.4.0 ([#119](https://togithub.com/googleapis/java-video-live-stream/issues/119)) ([15b08df](https://togithub.com/googleapis/java-video-live-stream/commit/15b08df1a40d2897964a897d61b39d6045ad2372))
* Update dependency googleapis-common-protos to v1.56.4 ([#108](https://togithub.com/googleapis/java-video-live-stream/issues/108)) ([815a46e](https://togithub.com/googleapis/java-video-live-stream/commit/815a46e7d6dd5866acee7c6cbb1dbef5cbda88d2))
* Update dependency importlib-metadata to v4.12.0 ([#96](https://togithub.com/googleapis/java-video-live-stream/issues/96)) ([de35cf1](https://togithub.com/googleapis/java-video-live-stream/commit/de35cf18e690b4e9fe56d2cddd5ce5ac4481abd8))
* Update dependency jeepney to v0.8.0 ([#114](https://togithub.com/googleapis/java-video-live-stream/issues/114)) ([8ce181d](https://togithub.com/googleapis/java-video-live-stream/commit/8ce181d95deaf0e5b37f24238370da29d6f726dd))
* Update dependency jinja2 to v3.1.2 ([#97](https://togithub.com/googleapis/java-video-live-stream/issues/97)) ([e36f74d](https://togithub.com/googleapis/java-video-live-stream/commit/e36f74debe88dcf2c406104af48037243098a180))
* Update dependency keyring to v23.9.3 ([#115](https://togithub.com/googleapis/java-video-live-stream/issues/115)) ([8a023a0](https://togithub.com/googleapis/java-video-live-stream/commit/8a023a0a009da78c07136f7b9b2904b3d6e04f6c))
* Update dependency markupsafe to v2.1.1 ([#98](https://togithub.com/googleapis/java-video-live-stream/issues/98)) ([316fb08](https://togithub.com/googleapis/java-video-live-stream/commit/316fb08bc6495e0b2a9ec5475a7b350137d6675c))
* Update dependency protobuf to v3.20.2 ([#116](https://togithub.com/googleapis/java-video-live-stream/issues/116)) ([933beb3](https://togithub.com/googleapis/java-video-live-stream/commit/933beb3a24cfb277f9c57d2486b49b1ecdc01029))
* Update dependency protobuf to v3.20.3 ([#120](https://togithub.com/googleapis/java-video-live-stream/issues/120)) ([99467b2](https://togithub.com/googleapis/java-video-live-stream/commit/99467b23dcc7641300b3c19b57ab1271255c303b))
* Update dependency protobuf to v4 ([#102](https://togithub.com/googleapis/java-video-live-stream/issues/102)) ([c3a58c0](https://togithub.com/googleapis/java-video-live-stream/commit/c3a58c0676766f0e995c71e0732e42f4eb45978c))
* Update dependency pyjwt to v2.5.0 ([#117](https://togithub.com/googleapis/java-video-live-stream/issues/117)) ([a6dc961](https://togithub.com/googleapis/java-video-live-stream/commit/a6dc9613215968bc7b45b16dd8cd906c1282a8cf))
* Update dependency requests to v2.28.1 ([#118](https://togithub.com/googleapis/java-video-live-stream/issues/118)) ([f0a4e18](https://togithub.com/googleapis/java-video-live-stream/commit/f0a4e188d15381aef2f1af1851686aef38dff0be))
* Update dependency typing-extensions to v4.3.0 ([#99](https://togithub.com/googleapis/java-video-live-stream/issues/99)) ([df3cb4d](https://togithub.com/googleapis/java-video-live-stream/commit/df3cb4d95031010920511a5d4feafa899a7c4499))
* Update dependency zipp to v3.8.1 ([#100](https://togithub.com/googleapis/java-video-live-stream/issues/100)) ([19815e7](https://togithub.com/googleapis/java-video-live-stream/commit/19815e709d5a0793d6e14e3f3b415ba54ddf412a))

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
github-actions bot pushed a commit that referenced this issue Oct 4, 2022
🤖 I have created a release *beep* *boop*
---


## [0.3.6](https://togithub.com/googleapis/java-bare-metal-solution/compare/v0.3.5...v0.3.6) (2022-09-30)


### Dependencies

* Update dependency cachetools to v5 ([#96](https://togithub.com/googleapis/java-bare-metal-solution/issues/96)) ([b49cd41](https://togithub.com/googleapis/java-bare-metal-solution/commit/b49cd41468f79e73638439067d243acfb2498445))
* Update dependency charset-normalizer to v2.1.1 ([#82](https://togithub.com/googleapis/java-bare-metal-solution/issues/82)) ([a217d01](https://togithub.com/googleapis/java-bare-metal-solution/commit/a217d01f8b3e595b5d81277fbf5241619731d7ef))
* Update dependency click to v8.1.3 ([#83](https://togithub.com/googleapis/java-bare-metal-solution/issues/83)) ([de8165c](https://togithub.com/googleapis/java-bare-metal-solution/commit/de8165c15062de56a0fbe3802b120880d51e9ef0))
* Update dependency gcp-releasetool to v1.8.8 ([#81](https://togithub.com/googleapis/java-bare-metal-solution/issues/81)) ([d109a8a](https://togithub.com/googleapis/java-bare-metal-solution/commit/d109a8a5a25e44dc72640d79dee8d47a598f592a))
* Update dependency google-api-core to v2.10.1 ([#84](https://togithub.com/googleapis/java-bare-metal-solution/issues/84)) ([e306491](https://togithub.com/googleapis/java-bare-metal-solution/commit/e3064914cf3801071ac1e7a1bc7cd416e834e1cb))
* Update dependency google-auth to v2.12.0 ([#85](https://togithub.com/googleapis/java-bare-metal-solution/issues/85)) ([18904eb](https://togithub.com/googleapis/java-bare-metal-solution/commit/18904eb81eb09d655e209cf820f17e6e9368c6d6))
* Update dependency google-cloud-storage to v2.5.0 ([#86](https://togithub.com/googleapis/java-bare-metal-solution/issues/86)) ([492eb4c](https://togithub.com/googleapis/java-bare-metal-solution/commit/492eb4c5706fafae57976196496214bca71a2b59))
* Update dependency google-crc32c to v1.5.0 ([#87](https://togithub.com/googleapis/java-bare-metal-solution/issues/87)) ([e2e30c6](https://togithub.com/googleapis/java-bare-metal-solution/commit/e2e30c605b2406e7d2d9a620022be5d66fe15914))
* Update dependency importlib-metadata to v4.12.0 ([#88](https://togithub.com/googleapis/java-bare-metal-solution/issues/88)) ([cde53a1](https://togithub.com/googleapis/java-bare-metal-solution/commit/cde53a18210e588efd41157cfb3a3570b239e046))
* Update dependency jeepney to v0.8.0 ([#89](https://togithub.com/googleapis/java-bare-metal-solution/issues/89)) ([5b94c8d](https://togithub.com/googleapis/java-bare-metal-solution/commit/5b94c8d8854eb0c20bf8f27165b1233305af275e))
* Update dependency jinja2 to v3.1.2 ([#98](https://togithub.com/googleapis/java-bare-metal-solution/issues/98)) ([aae443c](https://togithub.com/googleapis/java-bare-metal-solution/commit/aae443c7faa299180e7461b9b0a7d847a1673734))
* Update dependency keyring to v23.9.3 ([#100](https://togithub.com/googleapis/java-bare-metal-solution/issues/100)) ([6e1ce17](https://togithub.com/googleapis/java-bare-metal-solution/commit/6e1ce171c16cd96357b170f99e84e5741e539161))
* Update dependency markupsafe to v2.1.1 ([#90](https://togithub.com/googleapis/java-bare-metal-solution/issues/90)) ([885e4a3](https://togithub.com/googleapis/java-bare-metal-solution/commit/885e4a32f39c12fce491680b3e5b667f03b4ba59))
* Update dependency protobuf to v3.20.2 ([#91](https://togithub.com/googleapis/java-bare-metal-solution/issues/91)) ([343e52d](https://togithub.com/googleapis/java-bare-metal-solution/commit/343e52d9210a107c81505607eefe674b1924af3f))
* Update dependency protobuf to v4 ([#97](https://togithub.com/googleapis/java-bare-metal-solution/issues/97)) ([b796ffa](https://togithub.com/googleapis/java-bare-metal-solution/commit/b796ffa04b8417a8f3d60325539e95d03761fa80))
* Update dependency pyjwt to v2.5.0 ([#92](https://togithub.com/googleapis/java-bare-metal-solution/issues/92)) ([11101b3](https://togithub.com/googleapis/java-bare-metal-solution/commit/11101b3bb3217695d424b6c9a3ca33a9f92cc215))
* Update dependency requests to v2.28.1 ([#93](https://togithub.com/googleapis/java-bare-metal-solution/issues/93)) ([21e7af0](https://togithub.com/googleapis/java-bare-metal-solution/commit/21e7af04c61e7694e205a3981a7ef58a838ded6f))
* Update dependency typing-extensions to v4.3.0 ([#94](https://togithub.com/googleapis/java-bare-metal-solution/issues/94)) ([46021f0](https://togithub.com/googleapis/java-bare-metal-solution/commit/46021f04973f3a7d9bff017f4c95c0d2bbb6054a))
* Update dependency zipp to v3.8.1 ([#95](https://togithub.com/googleapis/java-bare-metal-solution/issues/95)) ([169b15f](https://togithub.com/googleapis/java-bare-metal-solution/commit/169b15f74ae296b3665117ad4e22d0ae19e73862))

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
github-actions bot pushed a commit that referenced this issue Oct 4, 2022
🤖 I have created a release *beep* *boop*
---


## [0.5.3](https://togithub.com/googleapis/java-certificate-manager/compare/v0.5.2...v0.5.3) (2022-10-03)


### Dependencies

* Update dependency certifi to v2022.9.24 ([#86](https://togithub.com/googleapis/java-certificate-manager/issues/86)) ([550815b](https://togithub.com/googleapis/java-certificate-manager/commit/550815b9bc63fcef0b425b4e4615871c101bf15c))
* Update dependency charset-normalizer to v2.1.1 ([#90](https://togithub.com/googleapis/java-certificate-manager/issues/90)) ([7355020](https://togithub.com/googleapis/java-certificate-manager/commit/7355020afc70724a7d65f2c86929d8d76dabf507))
* Update dependency click to v8.1.3 ([#91](https://togithub.com/googleapis/java-certificate-manager/issues/91)) ([bc8e98f](https://togithub.com/googleapis/java-certificate-manager/commit/bc8e98fa46ac40c84fc8fefcdfd0ce62e32b28de))
* Update dependency com.google.cloud:google-cloud-shared-dependencies to v3.0.4 ([#111](https://togithub.com/googleapis/java-certificate-manager/issues/111)) ([3d8303a](https://togithub.com/googleapis/java-certificate-manager/commit/3d8303a5545c93fc7041e7873b02e54b470ac372))
* Update dependency gcp-releasetool to v1.8.8 ([#87](https://togithub.com/googleapis/java-certificate-manager/issues/87)) ([74a4d56](https://togithub.com/googleapis/java-certificate-manager/commit/74a4d56e9c5c7c1add65f904a079fc8e6e40b729))
* Update dependency google-api-core to v2.10.1 ([#92](https://togithub.com/googleapis/java-certificate-manager/issues/92)) ([9b10d51](https://togithub.com/googleapis/java-certificate-manager/commit/9b10d51ba1b13848f03a563b31406a0fcb50b927))
* Update dependency google-auth to v2.12.0 ([#93](https://togithub.com/googleapis/java-certificate-manager/issues/93)) ([b598fcf](https://togithub.com/googleapis/java-certificate-manager/commit/b598fcf5e35a549dc8e277c46c53184d65bd31ae))
* Update dependency google-cloud-core to v2.3.2 ([#88](https://togithub.com/googleapis/java-certificate-manager/issues/88)) ([1fdd3e4](https://togithub.com/googleapis/java-certificate-manager/commit/1fdd3e475eb287ccdabd690ddb59ea57ecab3d2d))
* Update dependency google-cloud-storage to v2.5.0 ([#94](https://togithub.com/googleapis/java-certificate-manager/issues/94)) ([3e5122a](https://togithub.com/googleapis/java-certificate-manager/commit/3e5122aadae09804343b56ffe7ae53cd7dd750ea))
* Update dependency google-crc32c to v1.5.0 ([#95](https://togithub.com/googleapis/java-certificate-manager/issues/95)) ([d5cf32e](https://togithub.com/googleapis/java-certificate-manager/commit/d5cf32ee7516dbcc3afbe303852d8d76fb7f135b))
* Update dependency googleapis-common-protos to v1.56.4 ([#89](https://togithub.com/googleapis/java-certificate-manager/issues/89)) ([62365b2](https://togithub.com/googleapis/java-certificate-manager/commit/62365b2c71cde03f6db1963a1f31cd4065d66ec3))
* Update dependency importlib-metadata to v4.12.0 ([#96](https://togithub.com/googleapis/java-certificate-manager/issues/96)) ([cf11f3f](https://togithub.com/googleapis/java-certificate-manager/commit/cf11f3fc8086c9b384f0a007f2d2a245ae19f862))
* Update dependency jeepney to v0.8.0 ([#97](https://togithub.com/googleapis/java-certificate-manager/issues/97)) ([89079be](https://togithub.com/googleapis/java-certificate-manager/commit/89079be406ac81d302253ba3ccb518216ab79862))
* Update dependency jinja2 to v3.1.2 ([#98](https://togithub.com/googleapis/java-certificate-manager/issues/98)) ([cc3e944](https://togithub.com/googleapis/java-certificate-manager/commit/cc3e944d1ee896fd0b3a8947cf1507ca5610cb84))
* Update dependency keyring to v23.9.3 ([#99](https://togithub.com/googleapis/java-certificate-manager/issues/99)) ([f0d9f0d](https://togithub.com/googleapis/java-certificate-manager/commit/f0d9f0d690fe3f98cdc157c1533a21114e922c2e))
* Update dependency markupsafe to v2.1.1 ([#100](https://togithub.com/googleapis/java-certificate-manager/issues/100)) ([c26064e](https://togithub.com/googleapis/java-certificate-manager/commit/c26064ed390bd6f992904564174e52088df1f943))
* Update dependency protobuf to v3.20.2 ([#101](https://togithub.com/googleapis/java-certificate-manager/issues/101)) ([90e1e17](https://togithub.com/googleapis/java-certificate-manager/commit/90e1e1759f8f70396212991df3a64dc52ca84c1f))
* Update dependency requests to v2.28.1 ([#103](https://togithub.com/googleapis/java-certificate-manager/issues/103)) ([c9b02cd](https://togithub.com/googleapis/java-certificate-manager/commit/c9b02cd6ede3defd151ba8343250122cf4555a86))
* Update dependency typing-extensions to v4.3.0 ([#104](https://togithub.com/googleapis/java-certificate-manager/issues/104)) ([0350c5a](https://togithub.com/googleapis/java-certificate-manager/commit/0350c5a91a753e6a4d8030318fcae35a556064d1))

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🚨 This issue needs some love. triage me I really want to be triaged.
Projects
None yet
Development

No branches or pull requests

3 participants