`
hyj1254
  • 浏览: 340140 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

编程的核心在于抽象

阅读更多
    抽象是软件体系结构的灵魂。一个“优秀”的软件体系,必然是抽象层次恰到好处的结构。软件需要抽象,就如同书籍需要目录和章节一样;又好似茂盛的树木需要树干和枝丫。任何具备面向抽象编程意味的动作,都使软件体系朝质变迈出实实在在的一步,虽然不见得一定是变好。
    面向过程语言与面向对象语言最大的区别就是,对抽象的支持不一样。两者都可以抽象,只是后者容易多了,它专为抽象而生。
    但最重要的是,作为一个使用面向对象语言的程序员,要有这个意识,知道自己使用的这些特性有什么意义,会起到什么作用。只有意识到自己在做什么,才能有针对性地把它做到更好。
    很难想象完全没有这种意识的程序员能用好任何面向对象的语言。Unix编程艺术上讲要适度的抽象,但在到达这个层次之前,请先弄清楚面向对象编程的本质含义。
1
4
分享到:
评论
3 楼 hyj1254 2012-12-26  
luhfly 写道
好吧,抽象。
很多人,我见过很多人,没事就抽象。抽象到系统抽筋。

抽象只是一个优秀软件的原则一,还有很多原则。

写这篇文章出来我就是打算被 踩的,深入思考而又不同的观点永远只有少数人赞同。不恰当的抽象确实是对面向对象特性的滥用,这点Unix编程艺术也有提及,这是对个人功底的考验,另当别论。从构建软件体系的角度来讲,抽象是核心的一环,面向过程显然支持不足,面向对象是为此而诞生。各编程原则借此也更容易得到实现。
2 楼 mqlfly2008 2012-12-26  
抽象方式的不同,确实导致了面向对象和面向过程的不通。
1 楼 luhfly 2012-12-26  
好吧,抽象。
很多人,我见过很多人,没事就抽象。抽象到系统抽筋。

抽象只是一个优秀软件的原则一,还有很多原则。

相关推荐

    Java编程抽象概念解析.pptx.pptx

    总的来说,Java编程语言的抽象概念,包括抽象类、接口和抽象方法,是其面向对象特性的核心组成部分。理解并熟练应用这些概念,对于开发者来说至关重要,因为它们不仅可以提升代码质量,还能促进代码重用,降低维护...

    Flask Web开发+Python核心编程第二版+Python核心编程第三版

    Flask的核心特性在于其简单易用,允许开发者以模块化的方式构建应用程序。在Flask中,你可以直接定义路由规则、处理HTTP请求和响应,以及使用模板来生成动态网页内容。Flask不包含ORM(对象关系映射)或数据库抽象层...

    spring简单模拟(面向抽象/接口编程)

    这样做的好处在于,当需要改变或扩展实现时,只需要修改或增加新的实现类,而不会影响到调用者,因为调用者只依赖于抽象,不受具体实现的约束。 在Spring框架中,面向抽象编程体现在以下几个方面: 1. **依赖注入...

    Java并发编程:深入解析抽象队列同步器(AQS)及其在Lock中的应用

    本文深入探讨了Java并发编程的关键组件——抽象队列同步器(AQS)及其在ReentrantLock的应用。AQS是处理线程同步问题的高效工具,是Java并发编程中的核心。文章首先简要介绍了并发编程...是探索Java并发编程核心概念

    scala核心编程总结

    Scala的设计哲学在于消除传统编程范式之间的界限,如面向对象编程(OOP)与函数式编程(FP)。它不仅支持面向对象编程的所有特性——如类、继承等,同时还支持函数式编程的核心概念——如高阶函数、模式匹配等。这种独特...

    抽象工厂的介绍应用

    这种模式的关键在于"抽象工厂",它是一个接口或者抽象类,定义了创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。这种模式在实际开发中常用于框架构建、组件之间的解耦以及平台相关的对象创建等场景。...

    【每日一步】面向接口编程选择java接口还是抽象类.doc

    面向接口编程强调的是设计模式和编程思维,其核心在于: - **关注点分离**: 将关注点从实现转移到接口上,让接口成为程序的核心。 - **提高复用性**: 通过接口可以更容易地复用代码,减少代码冗余。 - **增强灵活性...

    设计模式-抽象工厂模式(讲解及其实现代码)

    5. 在客户端代码中,使用抽象工厂和抽象产品进行编程,避免与具体实现的耦合。 抽象工厂模式的优势在于: - 提高了系统的灵活性,当需要添加新的产品族时,无需修改原有代码,只需添加新的具体工厂和产品类即可。 -...

    设计模式-抽象工厂模式javademo

    在Java编程中,抽象工厂模式通常用于实现跨平台或者跨框架的接口,使得系统对具体产品的依赖降到最低,增强系统的可扩展性和可维护性。 首先,我们来理解一下抽象工厂模式的主要组成: 1. **抽象工厂(Abstract ...

    泛型编程源起_实现与意义_下_.pdf

    这种编程方式的核心在于抽象化,即从具体的数据类型中提取出通用的模式或行为,并将其应用到多种不同的类型上,以达到代码复用和提高程序的灵活性的目的。 #### 泛型编程的关键概念 1. **动态多态与静态多态**: ...

    面向对象与Java实现(抽象类、接口

    面向对象程序设计(OOP)是现代软件工程中的核心概念,它通过封装、继承、多态等特性来构建灵活、可复用和可扩展的代码结构。Java作为一门广泛使用的面向对象语言,提供了丰富的工具和语法支持OOP原则,其中抽象类和...

    嵌入式编程思想带你一步步走进嵌入式大门

    软件部分的编程就是嵌入式编程的核心内容。 嵌入式编程的关键在于对硬件的理解和控制。与传统的PC编程不同,嵌入式程序员需要了解目标硬件的特性,例如处理器架构、内存管理、中断系统等。例如,ARM架构的处理器在...

    设计模式抽象工厂实验报告

    实验的核心在于理解和实践**抽象工厂模式**,这是一种常用的面向对象设计模式,旨在解决软件设计中的灵活性和扩展性问题。实验的目标包括: 1. **深入理解抽象工厂模式的基本概念和原理**:通过理论学习和实际操作...

    CUDA编程 并行编程

    CUDA提供了一个层次化的编程模型,最底层是硬件的多个处理器核心,然后是线程块(block)和线程网格(grid)的概念,使得编程模型抽象程度更高,从而简化了并行编程的复杂性。 在CUDA编程模型中,一个线程负责执行...

    程序员编程艺术系列之程序员编程艺术

    编程艺术不仅关乎技术的掌握,更在于如何将技术运用得巧妙、优雅,以实现高效、可维护的软件解决方案。 在编程的世界里,艺术性并不仅仅是代码的美观,而是包括了设计模式、算法优化、错误处理、代码重构等多个方面...

    Java 8新特性之Lambda与函数式编程.pdf

    这种范式的核心在于声明式的代码风格,即程序员只需声明所需做什么,而不是如何去做。函数式编程提供了高阶函数的概念,允许将函数作为参数传递,或作为结果返回。这种编程方式鼓励使用不可变性,即数据一旦创建,就...

    java抽象类的作用共1页.pdf.zip

    Java抽象类是面向对象编程中的一个重要概念,它在Java编程语言中扮演着核心角色,尤其在设计模式和软件架构中。本资料“java抽象类的作用共1页.pdf”虽然只有一页,但其核心内容应该涵盖了抽象类的基本概念、特点...

    Java抽象类接口与多态PPT教案学习.pptx

    Java抽象类接口与多态是Java编程语言的核心概念,本篇资源文件将详细介绍Java中的抽象类、接口和多态的概念、特点和应用。 一、抽象类 抽象类是Java中的一种特殊的类,它不能被实例化,仅供子类继承使用。抽象类的...

Global site tag (gtag.js) - Google Analytics