Skip to main content

Experiences with DCI Pattern

  • Conference paper
Software Engineering in Intelligent Systems

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 349))

Abstract

The DCI architectural pattern for software, introduced by Reenskaug, contains three parts: Data, Context and Interaction. Data represent domain knowledge while Context and Interaction represent the business logic by implementing communication between objects. Context dynamically injects roles into objects. This design pattern is especially appropriate for agile software development. The goal of our paper is to present some practical experiences with the DCI design pattern. We used the DCI pattern in an exemplary application. We proposed and described the association and cooperation between the DCI and MVC (Model View Controller) pattern. Some remarks on the usage of the DCI design pattern in the software development are also given.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language. Oxford University Press, New York (1977)

    Google Scholar 

  2. Beck, K., Cunningham, W.: Using Pattern Languages for Object-Oriented Program. In: OOPSLA 1987 Workshop on Specification and Design for Object-Oriented Programming (September 1987)

    Google Scholar 

  3. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  4. Portland pattern repository, http://c2.com/ppr/ (access 2014)

  5. Shalloway, A., Trott, J.R.: Design Patterns Explained: A New Perspective on Object-Oriented Design, 2nd edn. Addison-Wesley (2007)

    Google Scholar 

  6. Meyer, B., Arnout, K.: Componentization: The Visitor Example. IEEE Computer (IEEE) 39(7), 23–30, doi:10.1109/MC.2006.227

    Google Scholar 

  7. Reenskaug, T.: http://heim.ifi.uio.no/trygver/ (access 2013)

  8. Reenskaug, T.: The Common Sense of Object Orientated Programming, version of September 11 (2008)

    Google Scholar 

  9. Reenskaug, T.: A DCI Execution Model, v 1.0 (2012)

    Google Scholar 

  10. The DCI Architecture: A New Vision of Object-Oriented Programming, http://www.artima.com/articles/dci_vision.html (access 2012)

  11. Reenskaug, T., Coplien, J.O.: DCI as a New Foundation for Computer Programming, draft v.1.7 (2014)

    Google Scholar 

  12. Coplien, J.O., Reenskaug, T.: The Data, Context and Interaction Paradigm. In: SPLASH 2012, Tucson, Arizona, USA, October 19-26, p. 227, ACM 978-1-4503-1563-0/12/10 (2012)

    Google Scholar 

  13. Coplien, J.O.: Reflections on Reflection. In: SPLASH 2012, Tucson, Arizona, USA, October 19-26, pp. 7–9, ACM 978-1-4503-1563-0/12/10 (2012)

    Google Scholar 

  14. Coplien, J.O.: Objects of the People, By the People, and For the People. In: AOSD 2012, Potsdam, Germany, March 25-30, pp. 3–4, ACM 978-1-4503-1092-5/12/03 (2012)

    Google Scholar 

  15. Reenskaug, T., Coplien, J.O.: The DCI Architecture: A New Vision of Object-Oriented Programming (March 2009)

    Google Scholar 

  16. DCI – Data Context Interaction, http://fulloo.info/ (access 2014)

  17. MVC: http://en.wikipedia.org/wiki/Model-view-controller (access 2014)

  18. Coplien, J.O., Bjørnvig, G.: Lean Architecture for Agile Software Development. Wiley (2010)

    Google Scholar 

  19. Bluemke, I., Stepień, A.: DCI implementation in C++ and JAVA - case study. In: Madeyski, L., Ochodek, M. (eds.) Soft. Eng. from Research and Practice Perspectives, ch. 9, Nakom, pp. 154–163, ISBN 978-83-63919-16-0 (2014)

    Google Scholar 

  20. Qing, C., Zhong, Y.: A Seamless Software Development Approach Using DCI, pp. 139–142, IEEE 78-1-4673-2008-5/12 (2012)

    Google Scholar 

  21. Mahlen, P.: Blog [online]: DCI Architecture – Good, not Great, or Both, http://pettermahlen.com/2010/09/10/dci-architecture-good-not-great-or-both/ (access 2014)

  22. Oberg, R.: Blog [online], http://java.dzone.com/articles/implementing-dci-qi4j (access 2014)

  23. Parson, C.: Blog [online]: A fresh take on DCI with C++ (with example), http://chrismdp.com/2012/04/a-fresh-take-on-dci-with-c-plus-plus/ (access 2014)

  24. Hasso, S., Carlson, C.: Design Patterns as First-Class Connectors. In: RIIT 2013, Orlando, Florida, USA, October 10-12, pp. 36–42, ACM 978-1-4503-2494-6/13/10 (2013)

    Google Scholar 

  25. Jackson, M.: The meaning of requirements. Annals of Software Engineering 3, 5–21 (1997)

    Article  Google Scholar 

  26. Jackson, M.: Problems & Requirements. In: Proc. IEEE Second Int. Symp. on Requirements Engineering, pp. 2–8. ACM Press (1995)

    Google Scholar 

  27. Hayata, T., Han, J., Beheshti, M.: Facilitating Agile Software Development with Lean Architecture in the DCI Paradigm. In: Ninth International Conference on Information Technology-New Generations, pp. 343–348 (2012), doi:10.1109/ITNG.2012.157

    Google Scholar 

  28. Stepień, A.: DCI – Data Context Interaction – evaluation of usability. BA thesis, Institute of Computer Science, Warsaw University of Technology (2013) (in Polish)

    Google Scholar 

  29. Ruby: http://www.ruby-lang.org/ (access 2013)

  30. Ruby on Rails: http://rubyonrails.org/ (access 2013)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ilona Bluemke .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Bluemke, I., Stepień, A. (2015). Experiences with DCI Pattern. In: Silhavy, R., Senkerik, R., Oplatkova, Z., Prokopova, Z., Silhavy, P. (eds) Software Engineering in Intelligent Systems. Advances in Intelligent Systems and Computing, vol 349. Springer, Cham. https://doi.org/10.1007/978-3-319-18473-9_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-18473-9_9

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-18472-2

  • Online ISBN: 978-3-319-18473-9

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics