Beside writing the blog, one thing I love to do is reading new programming or software design books. Currently, I'm working on a quite large and very complex Java based software. Only the programming knowledge I have is not enough to deal with this kind of software. Learning different design and programming approaches is one way could help me to tackle problems in software developments.
The book I'm currently reading is Program Development in Java: Abstraction, Specification, and Object-Oriented Design, written by Barbara Liskov and John Guttag.
Preview
Barbara Liskov is quite well known in the software industry. She is who define the Liskov Subsitution Principle, one of the SOID principles. I'm reading the Chapter 1. Introduction, it is about the Decomposition and Abstraction which I think ones of the most important topics and techniques used in software developments.
She explains that a large program should be decomposed into a number of small independent programs, called modules. Developing the large program involves many people and require a number of communications between them to ensure they have the same understanding in each part of the program with which their program need to interact, and this consumes too much time.
Decomposing the program into pieces which the individual can work on it independently will help to reduce the communications and misunderstandings.
This is what I got from the book right now. Will share more about it later as I go on through the book. Have a nice day :)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น