看了这个帖子,有感写点废话
http://www.iteye.com/topic/243309
现在随便哪个面试不考点设计模式什么的,似乎就不叫面试,我倒想问问,面试官们你们自己不算那些死记硬背的,能记住多少模式的思想,又有多少是你们每天写的程序会用到的
我承认
1. 设计模式确实是前人总结的一些经验和良好的设计范式,是很有价值的
2. 把握良好的设计模式能够理清程序的骨架,使程序变得更清晰
但是我很想说的是
1.设计模式是最通用的一些程序设计方法和范式,不同的领域有自己的一些模式可以遵循,未必非得是那20几种里的某一个
2.书中列举的那些模式是死的,只是特定问题的一些设计思路,未必就非得那样,生搬硬套是很傻的行为
3.设计模式这东西没写过一定得代码量,看了书上写的那些也未必理解,代码量积累到一定程序(当然不是每天重复的体力劳动,需要勤思考),自然会对特定领域,或特定问题有自己的一套解决方法或者设计范式,很可能早就有了一套自己的组件库,所以也不需要去看书上那些死的东西,该会的你都会了,其他的你也用不到
所以基本上 面试时考个什么叫包装,什么叫工厂,抽象方法的实在是没什么意义,都成了背书了
举个最简单的例子,设计模式书上讲包装设计模式废了那么多笔墨,又是抽象类,又是接口的,累不累呀,其实可能天天都用的东西,不搞复杂点就不叫高深,这样难道不叫包装吗?
public interface Display{
String display();
}
public class DisplayWrapper implements Display{
private Display display;
public DisplayWrapper(Display display){
this.display=display;
}
public String display(){
String s=display.display();
//wrapper自己的处理
}
}
很多程序员几乎认为,封装得不花个半天功夫根本找不到实现类在哪 这就是面向对象的美,就是面向对象的最高境界,简单的事情往往搞的N复杂
我就是想说 简单的就是最好的,简单的往往也是强大的
粗浅见解,有拍砖的欢迎
分享到:
相关推荐
J2EE(Java 2 Platform, Enterprise Edition)设计模式是针对企业级应用程序中重复出现的问题提出的解决方案,...在学习和使用这些模式的过程中,开发者应当结合具体的应用场景,灵活地应用这些模式,而非生搬硬套。
设计模式是软件工程中一个重要的概念,它是一套被反复使用、多数人知晓、经过分类编目、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。很多模式在Java等面向对象的...
同样,设计模式不是生搬硬套的模板,而是根据项目需求选择合适的方式,以达到最佳效果。 【设计模式的作用】在于提高代码的可维护性、可扩展性和性能。正确使用设计模式可以使软件在面对需求变更时保持稳定,同时...
最后,尽管设计模式是编程中的重要概念,但不应该生搬硬套。在实际开发中,需要根据具体情况来决定是否使用某种设计模式,以及如何适当地运用这些模式来提升软件的质量。使用设计模式的目的是为了解决特定问题,并不...
设计模式是软件工程中用于解决特定问题的一般性指导方案,它们是一套被反复使用、多数人知晓、经过分类编目、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。23种设计...
学习设计模式并不意味着在每个项目中都生搬硬套,而是要根据具体需求选择合适的设计模式,实现最佳的设计决策。设计模式的掌握需要时间和实践,通过反复练习和应用,开发者能够更好地理解和应用这些模式,从而提升...
同时,作者可能会强调,虽然设计模式提供了通用的解决方案,但并不意味着在所有情况下都应该生搬硬套,关键在于理解其背后的意图和原则,以便在需要的时候能够灵活运用。 此外,书中可能会讨论如何将设计模式与Java...
设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的经验总结。在PHP编程领域,理解并熟练运用设计模式对于提升代码质量、可维护性和可扩展性至关重要。本资料主要围绕PHP设计模式进行深入探讨。...
在当今的软件开发领域中,设计模式作为一套被反复使用、多数人知晓、代码组织结构和设计问题的解决方案,已成为开发者必须掌握的知识。设计模式不仅可以改善代码的组织结构,提升其可复用性、可读性和可维护性,而且...
C#23中设计模式涉及到的是软件设计模式,它是一套被反复使用、多数人知晓、分类编目、代码设计经验的总结。设计模式主要是为了提高代码的可重用性,让代码更容易被他人理解,保证代码的可靠性。在C#编程中,熟练掌握...
在应用设计模式时,重要的是理解其背后的思想和原则,而不是生搬硬套。设计模式只是工具,目的是解决实际问题,提高代码质量。通过合理地应用设计模式,可以在软件开发中实现更优雅、更高效的解决方案。
李建忠老师的《C++设计模式讲义与源码》是一份非常珍贵的学习资源,它不仅仅是对设计模式理论的阐述,更包含了丰富的实践案例和源码实现。设计模式是软件工程领域中重要的概念,它涉及到如何以一种标准化的方式组织...
设计模式不是生搬硬套的规则,而是需要根据具体的应用场景灵活运用。每种模式都有其适用的场景,开发者在实际应用中应根据问题的性质选择合适的设计模式。 此外,设计模式能够帮助团队成员之间进行更有效的沟通。当...
王翔指出,设计模式不是万能的,也不应生搬硬套。在实际应用中,需要根据项目需求选择合适的设计模式,并理解其背后的意图和适用场景。滥用设计模式可能导致不必要的复杂性,影响项目的效率和可读性。因此,理解设计...
通过分析Android系统中的设计模式来提升大家对设计模式的理解,从源码的角度来剖析既增加了对Android系统本身的了解,也从优秀的设计中领悟模式的实际运用以及它适用的场景,避免在实际开发中的生搬硬套。
在实践中,设计模式的运用并不是生搬硬套,而是需要根据项目需求进行适当的调整和融合。有时候,简单的解决方案可能比复杂的模式更有效。关键是理解和掌握设计模式背后的意图,而不是机械地复制模式的结构。 总的来...
在实际项目中,设计模式的运用并不是生搬硬套,而是根据需求灵活选择。比如,对于复杂业务流程,可以使用策略模式来定义一系列可互换的算法;对于处理事件响应,可以利用观察者模式来建立发布/订阅关系。 此外,...
通过理解设计模式的原理,开发者可以更好地将模式融入到自己的设计中,而不是生搬硬套。设计模式的实现通常是多种多样的,这取决于具体的应用场景和需求。因此,通过具体的代码实现来学习设计模式,不仅可以加深对...
《模式设计》是一本在IT行业内备受推崇的经典著作,它深入浅出地介绍了设计模式这一程序设计领域的核心概念。设计模式是软件开发中经过实践验证的解决方案,它们为解决常见问题提供了可复用的模板,使得开发者能够更...
设计模式的使用并非生搬硬套,而是根据项目需求灵活运用,它们是解决软件设计问题的工具,而不是固定的公式。 在.NET中实现设计模式时,由于语言特性如泛型、委托、事件等的支持,可以更加便捷地实现各种模式。同时...