goxr3plus / XR3Player

🎧 🎼 The MOST ADVANCED JavaFX Media Player
https://xr3player.netlify.com/
GNU Lesser General Public License v3.0
725 stars 176 forks source link

Unwanted dependency on a stream player. #58

Open HelgeStenstrom opened 5 years ago

HelgeStenstrom commented 5 years ago

https://github.com/goxr3plus/XR3Player/blob/b222ce496f47b1ffc121e768b4f3f24999906213/src/main/java/com/goxr3plus/xr3player/services/chromium/ChromiumUpdaterService.java#L9

This package com.goxr3plus.xr3player.services.chromium is not about playing streams, and com.goxr3plus.streamplayer.stream has nothing to do with what a web browser needs. I think this dependency should be removed.

One way to do it, is to depend on a class of XR3Player instead, which provides the same functionality. This XR3Player class may depend on StreamPlayer, but this particular class doesn't have to.

Let every class, every package and every module have a single responsibility. Although att different abstraction levels.

What if you decide to move StreamPlayer to Java-9 modules? Would you then want to export ThreadFactoryWithNamePrefix from it? I wouldn't do it.