官术网_书友最值得收藏!

  • Unity Game Optimization
  • Dr. Davide Aversa Chris Dickinson
  • 217字
  • 2021-06-24 12:13:05

A globally accessible object

The first requirement makes the messaging system an excellent candidate for a singleton object, since we would only ever need one instance of the system. Although, it is wise to think long and hard as to whether this is truly the case before committing to implementing a singleton.

If we later decide that we want multiple instances of this object to exist, wish to allow the systems to be created/destroyed during runtime, or even wish to create test cases that allow us to fake or create/destroy them in the middle of a test, then it can be a difficult task to refactor a singleton out of our code base. This is due to all of the dependencies we will gradually introduce to our code as we use the system more and more.

If we wish to avoid singletons due to the above drawbacks, then it may be easier to create a single instance of the messaging system during initialization and then pass it around from subsystem to subsystem as needed, or we might wish to go further and explore the concept of dependency injection, which attempts to solve problems like these. However, for the sake of simplicity, we will assume that a singleton fits our needs and design our MessagingSystem class accordingly.

主站蜘蛛池模板: 大厂| 靖远县| 昌图县| 新巴尔虎右旗| 昌图县| 元阳县| 蓝山县| 临安市| 高陵县| 江川县| 平乐县| 图们市| 峨眉山市| 肇源县| 石渠县| 柳林县| 潼南县| 西乌珠穆沁旗| 镇雄县| 美姑县| 贵德县| 乌拉特中旗| 汝南县| 青神县| 碌曲县| 昔阳县| 句容市| 罗田县| 巴东县| 仁寿县| 信阳市| 澜沧| 喀喇沁旗| 文昌市| 汾西县| 嘉荫县| 香港| 都安| 灵台县| 北京市| 三原县|