看了这个帖子,有感写点废话
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#编程中,熟练掌握...
在应用设计模式时,重要的是理解其背后的思想和原则,而不是生搬硬套。设计模式只是工具,目的是解决实际问题,提高代码质量。通过合理地应用设计模式,可以在软件开发中实现更优雅、更高效的解决方案。
王翔指出,设计模式不是万能的,也不应生搬硬套。在实际应用中,需要根据项目需求选择合适的设计模式,并理解其背后的意图和适用场景。滥用设计模式可能导致不必要的复杂性,影响项目的效率和可读性。因此,理解设计...
通过分析Android系统中的设计模式来提升大家对设计模式的理解,从源码的角度来剖析既增加了对Android系统本身的了解,也从优秀的设计中领悟模式的实际运用以及它适用的场景,避免在实际开发中的生搬硬套。
在实践中,设计模式的运用并不是生搬硬套,而是需要根据项目需求进行适当的调整和融合。有时候,简单的解决方案可能比复杂的模式更有效。关键是理解和掌握设计模式背后的意图,而不是机械地复制模式的结构。 总的来...
在实际项目中,设计模式的运用并不是生搬硬套,而是根据需求灵活选择。比如,对于复杂业务流程,可以使用策略模式来定义一系列可互换的算法;对于处理事件响应,可以利用观察者模式来建立发布/订阅关系。 此外,...
《模式设计》是一本在IT行业内备受推崇的经典著作,它深入浅出地介绍了设计模式这一程序设计领域的核心概念。设计模式是软件开发中经过实践验证的解决方案,它们为解决常见问题提供了可复用的模板,使得开发者能够更...
设计模式的使用并非生搬硬套,而是根据项目需求灵活运用,它们是解决软件设计问题的工具,而不是固定的公式。 在.NET中实现设计模式时,由于语言特性如泛型、委托、事件等的支持,可以更加便捷地实现各种模式。同时...
在详细探讨***设计模式之前,首先要了解***作为一种用于构建动态网站、...需要注意的是,在阅读和应用《***设计模式》时,应保持对模式适用场景和限制的认识,避免在不适合的场景下生搬硬套,反而降低软件设计的质量。
设计模式的应用并非生搬硬套,而是根据实际需求灵活选择和组合。理解并掌握这些模式,能帮助开发者写出更优雅、更健壮的PHP代码。通过不断实践和学习,我们可以更好地利用设计模式来应对各种编程挑战,提高软件开发...
创建型模式、结构型模式是软件设计模式中的两种主要类别,它们用于处理对象的创建、组织以及它们之间的关系。设计模式的概念源自建筑学,用于在软件工程领域中提供一种针对特定问题的解决方案模式。 创建型模式关注...