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

Chapter 4. Abstract and Self Types

Designing and writing high quality code in software engineering is important in order to have applications that are easy to extend and maintain. This activity requires the domain to be well known, correctly understood by a developer, and the requirements for the application to be well defined. If any of these is absent, then writing good programs becomes quite challenging.

Many times, engineers model the "world" using some abstractions. This helps with code extendibility and maintainability and removes duplication, which in many cases could be a reason for bugs. Good code, generally, will consist of multiple small components, which depend on and interact with each other. There are different approaches that help to achieve abstraction and interaction. We will look into the following topics in this chapter:

  • Abstract types
  • Polymorphism
  • Self types

The topics that we will cover here will be really useful when we start looking into some of the concrete design patterns. Understanding them will also help to understand the design patterns that rely on them. Moreover, the concepts covered in this chapter are useful just by themselves for writing good code.

主站蜘蛛池模板: 镇沅| 丹凤县| 南阳市| 丰台区| 梅州市| 富平县| 汉川市| 喀什市| 阿拉善左旗| 久治县| 宝应县| 翁源县| 昌宁县| 六盘水市| 朝阳县| 盐城市| 威海市| 家居| 石家庄市| 宜黄县| 广饶县| 沂水县| 虞城县| 龙陵县| 自贡市| 新宁县| 苍溪县| 永丰县| 泸西县| 桐梓县| 甘洛县| 湘潭县| 保靖县| 南宫市| 霍州市| 新乐市| 志丹县| 巫溪县| 丹阳市| 永善县| 塘沽区|