软件的设计理念

软件设计的核心在于管理复杂性,通过分解问题为简单模块,强调最小化复杂性、松散耦合和可维护性。设计原则包括:避免过度复杂的‘聪明’设计,追求可扩展性、可重用性和高扇入。此外,信息隐藏、继承、封装等面向对象设计原则也至关重要。设计过程是迭代的,采用分而治之、自上而下或自下而上的方法,同时利用设计模式如抽象工厂、适配器等,以及协同设计和实验原型来不断优化设计。
摘要由CSDN通过智能技术生成

Key Design Concepts
关键的设计概念
Managing complexity is the most important technical topic in software development.
管理的复杂性是软件开发中最重要的技术课题。
The goal of all software-design techniques is to break acomplicated problem into simple pieces. The more independent the subsystems are, the more you make it safe to focus on one bit of complexity at a time.
所有的软件设计技术的目标是打破复杂问题转化为简单的部分。更加独立的子系统,你越能集中在一个点一次安全的复杂性。
design characteristics
设计特点
Minimal complexity
最小的复杂性
* Avoid making “clever” designs. clever designs are usually hard to understand. Instead make “simple” and “easy-to-understand” designs.
*避免“聪明”的设计。聪明的设计通常是难以理解的。相反,使“简单”和“容易理解”的设计。
Ease of maintenance
维护方便
Loose coupling
松散耦合
Extensibility
可扩展性
Reusability
可重用性
High fan-in
高扇入
* having a high number of classes that use a given class. High fan-in implies that a system has been designed to make good use of utility classes at the lower levels in the system.
*具有大量的类,使用一个给定的类。高扇入意味着系统已经在系统中的低水平利用好实用类。
Low-to-medium fan-outside
低到中等风扇外
* having a given class use a low-to-medium number of other classes (<7)
*具有一个给定的类使用一个低的其他类介质数(<7)
Portability
可移植性
Leanness
消瘦
* designing the system so that it has no extra parts. a book is finished not when nothing more can be added but when nothing more can be taken away.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值