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

抽象,扩展和实现难度

 
阅读更多

    在设计系统的时候,一直在同过度抽象派做斗争,坦然的说,抽象设计,是一个硬币的俩面,即是一个冒险而有趣的事情。但有可能又是根本不需要去做的事情。如何制止过度抽象和设计,目前我还没有看到成熟的经验和理论。

    基本上,从我的观察来看,抽象越大,实现难度越大,到了一定拐点,将是指数增长。 抽象越大,扩展性也越好,但到了一定拐点。扩展性将增加的很缓慢。如下俩个图

 

 

 

  上面俩个图都写画了拐点,但依照我的经验,实际情况并不真的需要知道拐点在哪儿,只能能满足用户需求,又有较低程度的抽象,这样系统通常都是容易设计和实现的

 

 

分享到:
评论

相关推荐

    Java抽象类高难度面试题及解析

    - 抽象类可以同时包含抽象方法和非抽象方法,抽象方法必须由子类实现,非抽象方法则有默认实现。 17. **抽象类实例化**: - 抽象类不能直接实例化,但可以通过子类实例化并赋值给抽象类引用,实现多态。 18. **...

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

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

    抽象工厂AbstractFactory

    然而,如果产品族的扩展过于频繁,可能会导致抽象工厂的实现变得复杂,增加了维护难度。因此,选择合适的设计模式需要根据项目需求和预期的变化来进行权衡。 总的来说,抽象工厂模式是设计模式中的一种重要工具,...

    格斗类游戏软件——抽象工厂模式

    总的来说,抽象工厂模式在设计格斗类游戏软件时起到了关键作用,它使游戏可以根据玩家等级动态地生成适应难度的敌人,同时保持代码的灵活性和可扩展性。通过这种模式,我们可以轻松地添加新的敌人类型或调整难度级别...

    Java 接口和抽象类区别

    在Java编程语言中,接口(Interface)与抽象类(Abstract Class)都是用于实现抽象和多态的重要工具。它们都允许我们定义行为的标准,但它们的使用场景、特点以及语法存在一定的差异。了解这些差异对于构建具有良好...

    抽象工程模式

    总结来说,抽象工厂模式是一种强大的工具,它允许我们在不修改代码的情况下改变产品的实现,增强了系统的可扩展性和灵活性。在处理跨平台或跨系统依赖时,它特别有用,能够帮助我们编写出更加解耦和可维护的代码。...

    三层+抽象工厂(连接Msql数据库和SqlServer2005数据库)

    在连接不同类型的数据库时,如MySQL和SQL Server,抽象工厂可以帮助我们创建适配特定数据库的连接对象,实现解耦和扩展性。 例如,我们可以定义一个抽象接口`DatabaseConnectionFactory`,包含创建数据库连接的方法...

    通过java实现抽象工厂模式(Abstract Factory Pattern).rar

    使用抽象工厂和抽象产品来创建对象的Java代码文件展示了如何通过抽象工厂模式来组织代码,从而使得系统更加灵活,易于扩展。抽象工厂模式特别适合用于构建具有多个产品族的复杂系统,同时这些系统还需要保证产品之间...

    java 抽象工厂模式应用 进阶

    抽象工厂模式是一种创建型设计模式,用于创建一系列相关或相互依赖的对象,而无需指定具体...当需要添加新的操作系统支持时,只需增加新的具体工厂类和产品类,而无需修改现有代码,从而实现了系统的可扩展性和灵活性。

    抽象工厂和简单工厂制作理解与学习

    然而,抽象工厂模式的复杂度较高,增加了系统的抽象性和理解难度。 在学习这两种模式时,通常我们会通过编写代码示例来加深理解。在提供的"FactoryDemo"文件中,很可能包含了这两种工厂模式的实现代码。通过阅读和...

    Java设计模式之抽象工厂模式.docx

    - **复杂性**:模式增加了系统的抽象性和理解难度,特别是当产品族和产品等级结构复杂时。 - **绑定特定实现**:如果过度依赖抽象工厂,可能会限制系统未来的发展,因为更换整个产品族可能需要更换所有相关代码。 ...

    抽象工厂模式

    1. **增加复杂性**:增加了系统的抽象性和理解难度。 2. **绑定到特定的产品等级结构**:若需添加新的产品等级,需要修改抽象工厂接口,违背了开闭原则。 **适用场景** 1. 当系统需要提供一组相关或相互依赖的对象...

    桥接模式简介和java代码实现

    3. **扩展性**:由于抽象和实现的分离,使得系统更易于扩展,能够应对未来可能的变化。 4. **封装**:客户端代码只与抽象类交互,隐藏了具体实现的细节,提高了代码的稳定性和可复用性。 缺点: 1. **复杂性**:...

    Java 工厂模式 抽象工厂 工厂方法模式

    - `factory2`、`factory3`、`factory1` 这些文件名可能是实现工厂模式的Java源代码,分别代表了不同级别的工厂类,如简单工厂、工厂方法和抽象工厂的实现。通过查看这些源代码,可以学习到如何在实际项目中应用这些...

    桥接模式1

    1. 设计和理解难度增加:由于桥接模式涉及到抽象化和实现化的组合,设计时需要考虑多个维度,可能会增加系统的复杂性。 2. 需要针对抽象进行编程,对开发人员的要求较高,可能影响到开发效率和维护。 实现桥接模式...

    桥梁模式DEMO

    - 当抽象部分和实现部分都需要被扩展时。 - 避免因为大量的类(每个类对应一种组合)而导致的类爆炸问题。 4. **DEMO示例**:在提供的DEMO中,作者可能创建了一个图形库,其中抽象部分(如颜色和形状)和实现部分...

    第05章 面向对象(下) 10 抽象类应用之模板方法设计模式

    这种模式将不变的部分固定下来,可变的部分交给子类去实现,从而实现了代码的复用和扩展。 在Java中,抽象类是模板方法设计模式的基础。抽象类定义了一个模板方法,这个方法通常包含了一系列步骤,这些步骤由抽象类...

    简单了解C#设计模式编程中的桥接模式

    1. **复杂性**:引入了额外的抽象层次,可能会使得系统变得复杂,增加了理解和实现的难度。 桥接模式适用于以下情况: 1. **多维度的扩展**:当系统有多个维度的变化时,如上面提到的三层架构中的业务逻辑层和数据...

    Java编程23种设计模式之抽象工厂模式

    在实际项目中,如本案例所示,当我们需要实现邮件和短信的发送功能时,通过抽象工厂模式可以方便地扩展到其他类型的推送服务,比如微信推送,只需添加新的工厂和产品类即可,而不会影响现有的代码结构。

Global site tag (gtag.js) - Google Analytics