Fan-out (software)

From Wikipedia, the free encyclopedia

Fan-out has multiple meanings in software engineering.

Message-oriented middleware[edit]

In message-oriented middleware solutions, fan-out is a messaging pattern used to model an information exchange that implies the delivery (or spreading) of a message to one or multiple destinations possibly in parallel, and not halting the process that executes the messaging to wait for any response to that message.[1][2][3]

Software design and quality assurance[edit]

In software construction, the fan-out of a class or method is the number of other classes used by that class or the number of other methods called by that method.[4]

Additionally, fan-out has impact on the quality of a software.[5][6][7]

See also[edit]


  1. ^ "AMQP 0-9-1 Model Explained". RabbitMQ.
  2. ^ "Writing Request/Response Clients and Servers: Sending Asynchronous Messages". Oracle Tuxedo Documentation.
  3. ^ "/dev/fanout : A One-To-Many Multiplexer".
  4. ^ McConnell, Steven (2004). "Chapter 5: Design Construction". Code Complete, Second Edition. Microsoft Press. ISBN 978-0-7356-1967-8.
  5. ^ Alikhashashneh, E.; Raje, R.; Hill, J. (April 2018). "Using Software Engineering Metrics to Evaluate the Quality of Static Code Analysis Tools". 2018 1st International Conference on Data Intelligence and Security (ICDIS): 65–72. doi:10.1109/ICDIS.2018.00017. ISBN 978-1-5386-5762-1. S2CID 44084551.
  6. ^ Krauskopf, J. (February 1990). "Elemental concerns (software design)". IEEE Potentials. 9 (1): 13–15. doi:10.1109/45.46811. ISSN 1558-1772. S2CID 23867273.
  7. ^ Mubarak, A.; Counsell, S.; Hierons, R. M. (May 2010). "An evolutionary study of fan-in and fan-out metrics in OSS". 2010 Fourth International Conference on Research Challenges in Information Science (RCIS): 473–482. doi:10.1109/RCIS.2010.5507329. ISBN 978-1-4244-4839-5.