有没有人在开发JavaScript时使用过SOLID编程原则(或它的任何部分)?
我刚刚开始阅读它,但似乎找不到任何人在JS中使用它。我发现唯一容易实现/使用的部分是“单一责任原则”。
我正在寻找的是使用这些原则的文章或例子。有没有什么关于为什么不应该使用某些部分的论点?
例如,“接口分离原则”说:“许多特定于客户端的接口比一个通用接口更好的概念。”
但据我所知,JS中没有接口(如果是接口就好了)。
发布于 2011-12-17 00:59:12
看起来Derek Greer正试图通过他在Fresh Brewed Code的SOLID JavaScript系列文章来尝试这一点:
发布于 2011-01-17 18:06:15
JavaScript有时会因为不如C++、C#和Java而声名狼藉,而事实上,它是一种非常强大的函数式编程语言,也具有面向对象的功能(尽管它并不真正归类为面向对象)
也许许多开发人员看轻它,因为他们中的许多人习惯于看到糟糕的编程实践,从而看到JavaScript中的错误行为。出于某种未知的原因,在客户端草率行事似乎更容易被接受。这是我想要改变的东西。
我相信这些可靠的原则是可靠的。(没有双关语的意思)如果您遵循这些约定,您将不太可能积累由于草率的代码、快捷方式和没有架构而造成的技术债务。您的代码将变得更易维护、更可重用、更模块化、不那么紧密耦合、可伸缩和可扩展。当您的产品被设计而不是不计后果地拼凑在一起时,您还将为展示JavaScript的全部功能做出贡献。
本文档描述了SOLID的基础知识。无论您指的是C++、Java、JavaScript还是任何其他面向对象的语言,都适用相同的规则。
Code Project - The SOLID Object Oriented Programming Principles
以下是有关JavaScript concepts on colourcoding.net的更多信息。
发布于 2015-01-26 07:00:32
此演示文稿: Derick Bailey的SOLID JavaScript In A Wobbly (World Wide Web)演示了如何在开发javascript时使用可靠的编程原则。
他多次明确地解决了javascript中的接口问题。在javascript中,接口在更大程度上是一种约定,因此如何定义它们取决于您。你可以写一个空的对象定义(把它想象成一个抽象的类或者一个接口)。或者,您可以依赖于协议/合同的文档。
在更概念化的层面上,一个对象的方法签名隐含地定义了它的接口,因此在javascript中,你通常可以使用“鸭子类型”,并且仍然坚持使用SOLID。(!)下面是演示文稿中的“接口分离原则”的一个示例,演示了这一点:
// Copyright 2014 Muted Solutions, LLC, and freely distributable and re-usable under the MIT License
// JavaScript has no interface construct ...
// sooooooo..... use inheritance instead? o_O
// Rectangle
// ---------
function Rectangle(){}
Rectangle.prototype.area = function(){
return this.height * this.width;
};
Rectangle.prototype.setHeight = function(height){
this.height = height;
};
Rectangle.prototype.setWidth = function(width){
this.width = width;
};
// Square
// ------
function Square(){}
Square.prototype.area = function(){
return this.size * this.size;
};
Square.prototype.setSize = function(size){
this.height = size;
this.width = size;
};这段代码和演讲中的所有其他示例代码都发布在GitHub:https://github.com/derickbailey/solid-javascript上
https://stackoverflow.com/questions/4711851
复制相似问题