面向对象之设计

面向对象之设计

 

面向对象魅力在于真实与抽象之间的演变。
    管理信息系统是个强调个性化的主题,但应当明确的是:这种个性化所对应的是系统功能,而不一定是软件的设计元素与设计过程。当我们把设计粒度降低到各个 “对象”元素的时候,就会惊奇地发现,绝大部分对象具备相同的形态与操作逻辑。
     把问题的普遍性抽象成“类”,它将表示一个独立的事物单元,在“实例化”的过程中将会通过属性的改变实现个性化功能的引用与设置。这就是我们所说的“自定义控件”的封装与引用。这些就是我们设计自定义控件的意义所在。
    项目的设计过程应当理解为事物单元“组装”过程。事物单元的抽象程度越高、涵盖能力越强,项目设计就会越轻松,可以被引用的事物单元(类)越多,实例级的代码量就会越少。在设计过程中,面向用户功能的代码量大约可以作为对“面向对象”程度的基本评价。
    如果没有自定义控件的存在,所有的业务功能都要通过实例级的代码实现,功能与模式的重复往往会意味着代码的复制。这种设计方式只是面向过程理念在面向对象环境下的沿用而不是真正的面向对象设计。对于这一点一定要有清醒的认识。
    出于事物自身的特点,完全屏蔽掉实例级的代码是不可能的,但如果抽象程度合适,实例级的代码大约相当于装配过程中的连接件、紧固零,而不在是设计的主体所在。我们的设计目标是:尽量通过封装与派生的手段来解决问题,在实例化的过程中代码量越少越好。
    代码量的减少只是一种现象,但它所表现出来的应当是面向对象的构思能力与设计水平。只有高度的抽象与完美的封装,才有可能在最大程度上减少实例级的代码量。这才是我们的目的所在。
    就项目过程而言,控件的封装只是最基本的元素单元,在此基础上,还有很多可以被抽象、归纳的功能与模式,这些可以理解为更高层次的封装,它们在解决项目代码的复用程度上具有更加简约、有效的表现能力。
    规范是建立体系的基本前提,承载能力取决于数据体系的构建,适应能力则取景于参数方案的设计。项目的总体构成基本包括:代码(包括控件)+数据(包括参数)+服务(参数维护与定式功能)组成;这些就是我们实现每个设计的实际过程。
     开发只是项目过程中的一个环节,实施过程中的各种变化与适应性调整也是成本消耗的重要组成部分。完成用户的功能需求只是最基本的设计要求,高水平的设计应当充分考虑在实施或应用过程中的各种可能会出现变化。这是适应性的起源。基本功能的实现来自用户的业务要求,而运行状态下的“柔性”定制则是来源是对规律的抽象与升华。关于适应性的提升是降低成本、提高开发价值的重要课题。
    更高层次的设计应当是“模式”的概念,代码的复用只能解决功能点上的问题,模式的复用则会侧重于一类功能或一类实现的共性。控件基于到代码层面的封装,模式则侧重于程序结构的复用。自定义控件与自定义模式共同形成了:基于项目定制实现快速开发的“工作平台”。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值